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+ }
0 commit comments