11import actions from '@/store/actions.js'
22
3+ jest . mock ( 'loglevel' )
4+
35function mockValue ( value ) { return jest . fn ( ( ) => { return value } ) }
46
57
@@ -41,6 +43,8 @@ describe('vuex actions', () => {
4143 test ( 'play type is DISCARD' , ( ) => {
4244 let payload = {
4345 playType : 'DISCARD' ,
46+ player : { name : 'jeff' } ,
47+ card : { type : 'GROUP' , value : 4 }
4448 }
4549 context . state = { gameState : 'game' , turnPlays : [ ] }
4650
@@ -70,6 +74,8 @@ describe('vuex actions', () => {
7074 // will not test all the intermediate steps already tested above
7175 let payload = {
7276 playType : 'REDRAW' ,
77+ player : { name : 'jeff' } ,
78+ card : { type : 'GROUP' , value : 4 }
7379 }
7480 context . state = { gameState : 'game' , turnPlays : [ ] }
7581
@@ -98,7 +104,8 @@ describe('vuex actions', () => {
98104 // will not test all the intermediate steps already tested above
99105 let payload = {
100106 playType : 'playCardOnStack' ,
101- card : { isMimic : false }
107+ player : { name : 'jeff' } ,
108+ card : { type : 'GROUP' , value : 4 , isMimic : false }
102109 }
103110 context . state = { gameState : 'game' , turnPlays : [ ] }
104111
@@ -148,12 +155,13 @@ describe('vuex actions', () => {
148155 } )
149156 test ( 'game is over' , ( ) => {
150157 context . getters = {
151- getPlayerScores : mockValue ( [ { score : 60 } , { score : 80 } ] )
158+ getPlayerScores : mockValue ( [ { playerId : 0 , score : 60 } , { playerId : 1 , score : 80 } ] )
152159 }
153160 context . state = {
154161 scoreLimit : 75 ,
155162 activeCard : 'card' ,
156- activePlayer : { isAi : true }
163+ activePlayer : { isAi : true } ,
164+ players : [ { id : 0 } , { id : 1 , name : 'jeff' } ]
157165 }
158166 actions . endTurn ( context )
159167 expect ( context . getters . getPlayerScores . mock . calls . length ) . toEqual ( 1 )
@@ -184,10 +192,15 @@ describe('vuex actions', () => {
184192 // does not check bus.$emit
185193 } )
186194 test ( 'playCardOnStack' , ( ) => {
187- actions . playCardOnStack ( context , 'payload' )
195+ let payload = {
196+ player : { name : 'jeff' } ,
197+ card : { type : 'REPEAT' , value : 3 } ,
198+ target : { getScore : mockValue ( 10 ) }
199+ }
200+ actions . playCardOnStack ( context , payload )
188201 expect ( context . commit . mock . calls . length ) . toEqual ( 2 )
189- expect ( context . commit . mock . calls [ 0 ] ) . toEqual ( [ 'removeFromHand' , ' payload' ] )
190- expect ( context . commit . mock . calls [ 1 ] ) . toEqual ( [ 'addToStack' , ' payload' ] )
202+ expect ( context . commit . mock . calls [ 0 ] ) . toEqual ( [ 'removeFromHand' , payload ] )
203+ expect ( context . commit . mock . calls [ 1 ] ) . toEqual ( [ 'addToStack' , payload ] )
191204 } )
192205 test ( 'startNewStack' , ( ) => {
193206 actions . startNewStack ( context , 'payload' )
@@ -196,13 +209,24 @@ describe('vuex actions', () => {
196209 expect ( context . commit . mock . calls [ 1 ] ) . toEqual ( [ 'newStack' , 'payload' ] )
197210 } )
198211 test ( 'playSpecialCard' , ( ) => {
199- actions . playSpecialCard ( context , 'payload' )
212+ let payload = {
213+ player : { name : 'jeff' } ,
214+ card : { type : 'RANSOM' } ,
215+ target : { name : 'phil' }
216+ }
217+ actions . playSpecialCard ( context , payload )
200218 expect ( context . commit . mock . calls . length ) . toEqual ( 2 )
201- expect ( context . commit . mock . calls [ 0 ] ) . toEqual ( [ 'addCardEffect' , ' payload' ] )
202- expect ( context . commit . mock . calls [ 1 ] ) . toEqual ( [ 'discardCard' , ' payload' ] )
219+ expect ( context . commit . mock . calls [ 0 ] ) . toEqual ( [ 'addCardEffect' , payload ] )
220+ expect ( context . commit . mock . calls [ 1 ] ) . toEqual ( [ 'discardCard' , payload ] )
203221 } )
204222 test ( 'groupStacks' , ( ) => {
205- let payload = { target : 'stacks' }
223+ let payload = {
224+ target : new Set ( [
225+ { getScore : mockValue ( 2 ) } , { getScore : mockValue ( 2 ) }
226+ ] ) ,
227+ card : { type : 'GROUP' , value : 4 } ,
228+ player : { name : 'jeff' } ,
229+ }
206230 actions . groupStacks ( context , payload )
207231 expect ( context . commit . mock . calls . length ) . toEqual ( 3 )
208232 expect ( context . commit . mock . calls [ 0 ] ) . toEqual ( [ 'removeStacks' , { stacks : payload . target } ] )
0 commit comments