Skip to content

Commit 5052191

Browse files
Merge pull request #184 from contentstack/fix/variants-sanity
added variants to sanity check
2 parents efba411 + 8253a08 commit 5052191

File tree

6 files changed

+490
-0
lines changed

6 files changed

+490
-0
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
import { expect } from 'chai'
2+
import { describe, it, setup } from 'mocha'
3+
import { jsonReader } from '../utility/fileOperations/readwrite'
4+
import { contentstackClient } from '../utility/ContentstackClient.js'
5+
6+
var client = {}
7+
var stack = {}
8+
9+
const variants ={
10+
"uid": "iphone_color_white", // optional
11+
"name": "White",
12+
"personalize_metadata": {
13+
"experience_uid": "exp1",
14+
"experience_short_uid": "expShortUid1",
15+
"project_uid": "project_uid1",
16+
"variant_short_uid": "variantShort_uid1"
17+
},
18+
}
19+
20+
var variantsUID = ''
21+
var deleteVariantsUID = ''
22+
describe('Variants api Test', () => {
23+
setup(() => {
24+
const user = jsonReader('loggedinuser.json')
25+
stack = jsonReader('stack.json')
26+
client = contentstackClient(user.authtoken)
27+
})
28+
29+
it('Variants create', done => {
30+
makeVariants()
31+
.create({ variants })
32+
.then((variantsResponse) => {
33+
variantsUID = variantsResponse.uid
34+
expect(variantsResponse.uid).to.be.not.equal(null)
35+
expect(variantsResponse.name).to.be.equal(variants.name)
36+
done()
37+
})
38+
.catch(done)
39+
})
40+
41+
it('Fetch variants from uid', done => {
42+
makeVariants(variantsUID)
43+
.fetch()
44+
.then((variantsResponse) => {
45+
expect(variantsResponse.uid).to.be.equal(variantsUID)
46+
expect(variantsResponse.name).to.be.equal(variants.name)
47+
done()
48+
})
49+
.catch(done)
50+
})
51+
52+
it('Query to get all variantss', done => {
53+
makeVariants()
54+
.query({ query: { name: variants.name } })
55+
.find()
56+
.then((response) => {
57+
response.items.forEach((variantsResponse) => {
58+
expect(variantsResponse.uid).to.be.not.equal(null)
59+
expect(variantsResponse.name).to.be.not.equal(null)
60+
})
61+
done()
62+
})
63+
.catch(done)
64+
})
65+
66+
it('Query variants with name', done => {
67+
makeVariants()
68+
.query({ query: { name: variants.name } })
69+
.find()
70+
.then((response) => {
71+
response.items.forEach((variantsResponse) => {
72+
expect(variantsResponse.uid).to.be.equal(variantsUID)
73+
expect(variantsResponse.name).to.be.equal(variants.name)
74+
})
75+
done()
76+
})
77+
.catch(done)
78+
})
79+
80+
it('Fetch By variants UIDs ', done => {
81+
makeVariants()
82+
.fetchByUIDs(['uid1', 'uid2'])
83+
.then((response) => {
84+
response.variants.forEach((variantsResponse) => {
85+
expect(variantsResponse.uid).to.be.equal(variantsUID)
86+
expect(variantsResponse.name).to.be.equal(variants.name)
87+
})
88+
done()
89+
})
90+
.catch(done)
91+
})
92+
93+
94+
it('Delete variants from uid', done => {
95+
makeVariants(deleteVariantsUID)
96+
.delete()
97+
.then((data) => {
98+
expect(data.notice).to.be.equal('Variants deleted successfully.')
99+
done()
100+
})
101+
.catch(done)
102+
})
103+
})
104+
105+
function makeVariants (uid = null) {
106+
return client.stack({ api_key: stack.api_key }).variants(uid)
107+
}
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
import { expect } from 'chai'
2+
import { describe, it, setup } from 'mocha'
3+
import { jsonReader } from '../utility/fileOperations/readwrite'
4+
import { createVariantGroup, createVariantGroup1, createVariantGroup2 } from '../mock/variantGroup.js'
5+
import { contentstackClient } from '../utility/ContentstackClient.js'
6+
7+
var client = {}
8+
9+
var stack = {}
10+
var tokenUID = ''
11+
describe('Variant Group api Test', () => {
12+
setup(() => {
13+
const user = jsonReader('loggedinuser.json')
14+
stack = jsonReader('stack.json')
15+
client = contentstackClient(user.authtoken)
16+
})
17+
18+
it('Add a Variant Group', done => {
19+
makeVariantGroup()
20+
.create(createVariantGroup)
21+
.then((variantGroup) => {
22+
expect(variantGroup.name).to.be.equal(createVariantGroup.name)
23+
expect(variantGroup.description).to.be.equal(createVariantGroup.description)
24+
expect(variantGroup.scope[0].module).to.be.equal(createVariantGroup.scope[0].module)
25+
expect(variantGroup.uid).to.be.not.equal(null)
26+
done()
27+
})
28+
.catch(done)
29+
})
30+
31+
it('Add a Variant Group for production', done => {
32+
makeVariantGroup()
33+
.create(createVariantGroup2)
34+
.then((variantGroup) => {
35+
tokenUID = variantGroup.uid
36+
expect(variantGroup.name).to.be.equal(createVariantGroup2.name)
37+
expect(variantGroup.description).to.be.equal(createVariantGroup2.description)
38+
expect(variantGroup.scope[0].module).to.be.equal(createVariantGroup2.scope[0].module)
39+
expect(variantGroup.uid).to.be.not.equal(null)
40+
done()
41+
})
42+
.catch(done)
43+
})
44+
45+
it('Get a Variant Group from uid', done => {
46+
makeVariantGroup(tokenUID)
47+
.fetch()
48+
.then((variantGroup) => {
49+
expect(variantGroup.name).to.be.equal(createVariantGroup1.name)
50+
expect(variantGroup.description).to.be.equal(createVariantGroup1.description)
51+
expect(variantGroup.scope[0].module).to.be.equal(createVariantGroup1.scope[0].module)
52+
expect(variantGroup.uid).to.be.not.equal(null)
53+
done()
54+
})
55+
.catch(done)
56+
})
57+
58+
it('Query to get all Variant Group', done => {
59+
makeVariantGroup()
60+
.query()
61+
.find()
62+
.then((tokens) => {
63+
tokens.items.forEach((variantGroup) => {
64+
expect(variantGroup.name).to.be.not.equal(null)
65+
expect(variantGroup.description).to.be.not.equal(null)
66+
expect(variantGroup.scope[0].module).to.be.not.equal(null)
67+
expect(variantGroup.uid).to.be.not.equal(null)
68+
})
69+
done()
70+
})
71+
.catch(done)
72+
})
73+
74+
it('Query to get a Variant Group from name', done => {
75+
makeVariantGroup()
76+
.query({ query: { name: createVariantGroup.name } })
77+
.find()
78+
.then((tokens) => {
79+
tokens.items.forEach((variantGroup) => {
80+
expect(variantGroup.name).to.be.equal(createVariantGroup.name)
81+
expect(variantGroup.description).to.be.equal(createVariantGroup.description)
82+
expect(variantGroup.scope[0].module).to.be.equal(createVariantGroup.scope[0].module)
83+
expect(variantGroup.uid).to.be.not.equal(null)
84+
})
85+
done()
86+
})
87+
.catch(done)
88+
})
89+
90+
it('Fetch and update a Variant Group from uid', done => {
91+
makeVariantGroup(tokenUID)
92+
.fetch()
93+
.then((variantGroup) => {
94+
variantGroup.name = 'Update Production Name'
95+
variantGroup.description = 'Update Production description'
96+
variantGroup.scope = createVariantGroup2.scope
97+
return variantGroup.update()
98+
})
99+
.then((variantGroup) => {
100+
expect(variantGroup.name).to.be.equal('Update Production Name')
101+
expect(variantGroup.description).to.be.equal('Update Production description')
102+
expect(variantGroup.scope[0].module).to.be.equal(createVariantGroup2.scope[0].module)
103+
expect(variantGroup.uid).to.be.not.equal(null)
104+
done()
105+
})
106+
.catch(done)
107+
})
108+
109+
it('Update a Variant Group from uid', done => {
110+
const variantGroup = makeVariantGroup(tokenUID)
111+
Object.assign(variantGroup, createVariantGroup2.variantGroup)
112+
variantGroup.update()
113+
.then((variantGroup) => {
114+
expect(variantGroup.name).to.be.equal(createVariantGroup2.name)
115+
expect(variantGroup.description).to.be.equal(createVariantGroup2.description)
116+
expect(variantGroup.scope[0].module).to.be.equal(createVariantGroup2.scope[0].module)
117+
expect(variantGroup.uid).to.be.not.equal(null)
118+
done()
119+
})
120+
.catch(done)
121+
})
122+
123+
it('Delete a Variant Group from uid', done => {
124+
makeVariantGroup(tokenUID)
125+
.delete()
126+
.then((data) => {
127+
expect(data.notice).to.be.equal('Variant Group deleted successfully.')
128+
done()
129+
})
130+
.catch(done)
131+
})
132+
})
133+
134+
function makeVariantGroup (uid = null) {
135+
return client.stack({ api_key: stack.api_key }).variantGroup(uid)
136+
}
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
import { expect } from 'chai'
2+
import { describe, it, setup } from 'mocha'
3+
import { jsonReader } from '../utility/fileOperations/readwrite'
4+
import { variant, variant1, variant2 } from '../mock/variants.js'
5+
import { contentstackClient } from '../utility/ContentstackClient.js'
6+
7+
var client = {}
8+
9+
var stack = {}
10+
var tokenUID = ''
11+
describe('Variants api Test', () => {
12+
setup(() => {
13+
const user = jsonReader('loggedinuser.json')
14+
stack = jsonReader('stack.json')
15+
client = contentstackClient(user.authtoken)
16+
})
17+
18+
it('Add a Variants', done => {
19+
makeVariants()
20+
.create(variant)
21+
.then((variants) => {
22+
expect(variants.name).to.be.equal(variant.name)
23+
expect(variants.uid).to.be.not.equal(null)
24+
done()
25+
})
26+
.catch(done)
27+
})
28+
29+
it('Add a Variants for production', done => {
30+
makeVariants()
31+
.create(variant2)
32+
.then((variants) => {
33+
tokenUID = variants.uid
34+
expect(variants.name).to.be.equal(variant2.name)
35+
expect(variants.uid).to.be.not.equal(null)
36+
done()
37+
})
38+
.catch(done)
39+
})
40+
41+
it('Get a Variants from uid', done => {
42+
makeVariants(tokenUID)
43+
.fetch()
44+
.then((variants) => {
45+
expect(variants.name).to.be.equal(variant2.name)
46+
expect(variants.uid).to.be.not.equal(null)
47+
done()
48+
})
49+
.catch(done)
50+
})
51+
52+
it('Query to get all Variants', done => {
53+
makeVariants()
54+
.query()
55+
.find()
56+
.then((tokens) => {
57+
tokens.items.forEach((variants) => {
58+
expect(variants.name).to.be.not.equal(null)
59+
expect(variants.uid).to.be.not.equal(null)
60+
})
61+
done()
62+
})
63+
.catch(done)
64+
})
65+
66+
it('Query to get a Variants from name', done => {
67+
makeVariants()
68+
.query({ query: { name: variant.name } })
69+
.find()
70+
.then((tokens) => {
71+
tokens.items.forEach((variants) => {
72+
expect(variants.name).to.be.equal(variant.name)
73+
expect(variants.uid).to.be.not.equal(null)
74+
})
75+
done()
76+
})
77+
.catch(done)
78+
})
79+
80+
it('Fetch and update a Variants from uid', done => {
81+
makeVariants(tokenUID)
82+
.fetch()
83+
.then((variants) => {
84+
variants.name = 'Update Production Name'
85+
variants.description = 'Update Production description'
86+
variants.scope = variant2.scope
87+
return variants.update()
88+
})
89+
.then((variants) => {
90+
expect(variants.name).to.be.equal('Update Production Name')
91+
expect(variants.uid).to.be.not.equal(null)
92+
done()
93+
})
94+
.catch(done)
95+
})
96+
97+
it('Update a Variants from uid', done => {
98+
const variants = makeVariants(tokenUID)
99+
Object.assign(variants, variant2.variants)
100+
variants.update()
101+
.then((variants) => {
102+
expect(variants.name).to.be.equal(variant2.name)
103+
expect(variants.uid).to.be.not.equal(null)
104+
done()
105+
})
106+
.catch(done)
107+
})
108+
})
109+
110+
function makeVariants (uid = null) {
111+
return client.stack({ api_key: stack.api_key }).variantGroup('uid').variants(uid)
112+
}

0 commit comments

Comments
 (0)