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