github.com/jancarloviray/community@v0.41.1-0.20170124221257-33a66c87cf2f/sdk/exttest/pages.go (about) 1 // Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved. 2 // 3 // This software (Documize Community Edition) is licensed under 4 // GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html 5 // 6 // You can operate outside the AGPL restrictions by purchasing 7 // Documize Enterprise Edition and obtaining a commercial license 8 // by contacting <sales@documize.com>. 9 // 10 // https://documize.com 11 12 package exttest 13 14 import ( 15 "fmt" 16 "strings" 17 "testing" 18 19 "github.com/documize/community/core/api/endpoint/models" 20 "github.com/documize/community/core/api/entity" 21 "github.com/documize/community/sdk" 22 ) 23 24 func testPages(t *testing.T, c *documize.Client, testFolder, testFile, testData string) { 25 26 lastSeq := 0.0 27 dp, err := c.GetDocumentPages(testFile) 28 if err != nil { 29 t.Error(err) 30 } else { 31 var pageIDs []string 32 for _, v := range dp { 33 pageIDs = append(pageIDs, v.RefID) 34 if v.Sequence > lastSeq { 35 lastSeq = v.Sequence 36 } 37 } 38 pageIDlist := strings.Join(pageIDs, ",") 39 if dpb, err2 := c.GetDocumentPagesBatch(testFile, pageIDlist); err != nil { 40 t.Error(err2) 41 } else { 42 for k, v := range dp { 43 if v.Body != dpb[k].Body { 44 t.Errorf("page %d from GetDocumentPages != from GetDocumentPagesBatch", k) 45 } 46 } 47 } 48 } 49 50 const numPages = 100 51 pagesAdded := make([]*entity.Page, 0, numPages) 52 for i := 0; i < numPages; i++ { 53 lastSeq += 1000.0 54 pg := entity.Page{ 55 DocumentID: testFile, 56 Level: 1, 57 Title: "AddPage() title " + fmt.Sprintf("%d", i), 58 Body: "AddPage() body " + fmt.Sprintf("%d", i), 59 ContentType: "wysiwyg", 60 Sequence: lastSeq, 61 } 62 if newPg, err2 := c.AddDocumentPage(testFile, &pg); err != nil { 63 t.Error(err2) 64 } else { 65 pagesAdded = append(pagesAdded, newPg) 66 } 67 } 68 69 if len(pagesAdded) < 2 { 70 t.Error("Less than two pages added, cannot continue with pages test") 71 return 72 } 73 74 err = c.ChangeDocumentPageLevel(testFile, &[]models.PageLevelRequestModel{ 75 {PageID: pagesAdded[0].RefID, Level: int(pagesAdded[0].Level + 42)}, 76 }) 77 if err != nil { 78 t.Error(err) 79 } 80 81 err = c.ChangeDocumentPageSequence(testFile, &[]models.PageSequenceRequestModel{ 82 {PageID: pagesAdded[0].RefID, Sequence: pagesAdded[0].Sequence - 1.0}, 83 }) 84 if err != nil { 85 t.Error(err) 86 } 87 88 pagesAdded[0].Body += " - Modified!" 89 err = c.UpdateDocumentPage(pagesAdded[0]) 90 if err != nil { 91 t.Error(err) 92 } 93 94 err = c.DeleteDocumentPage(testFile, pagesAdded[0].RefID) 95 if err != nil { 96 t.Error(err) 97 } else { 98 t.Log("INFO: Deleted single doc page", pagesAdded[0].RefID) 99 } 100 101 delList := []string{pagesAdded[1].RefID} 102 for k, v := range pagesAdded { 103 if k > 1 { 104 delList = append(delList, v.RefID) 105 } 106 } 107 err = c.DeleteDocumentPages(testFile, delList) 108 if err != nil { 109 t.Error(err) 110 } else { 111 t.Log("INFO: Deleted multiple doc pages:", len(delList)) 112 } 113 114 }