Skip to content

Commit e319342

Browse files
author
ben.durrant
committed
add settled tests
1 parent 9dec058 commit e319342

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

packages/toolkit/src/tests/createSlice.test.ts

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,9 @@ describe('createSlice', () => {
576576
function rejected(state: any[], action: any) {
577577
state.push(['rejectedReducer', action])
578578
}
579+
function settled(state: any[], action: any) {
580+
state.push(['settledReducer', action])
581+
}
579582

580583
test('successful thunk', async () => {
581584
const slice = createSlice({
@@ -586,7 +589,7 @@ describe('createSlice', () => {
586589
function payloadCreator(arg, api) {
587590
return Promise.resolve('resolved payload')
588591
},
589-
{ pending, fulfilled, rejected }
592+
{ pending, fulfilled, rejected, settled }
590593
),
591594
}),
592595
})
@@ -610,6 +613,13 @@ describe('createSlice', () => {
610613
payload: 'resolved payload',
611614
},
612615
],
616+
[
617+
'settledReducer',
618+
{
619+
type: 'test/thunkReducers/fulfilled',
620+
payload: 'resolved payload',
621+
},
622+
],
613623
])
614624
})
615625

@@ -623,7 +633,7 @@ describe('createSlice', () => {
623633
function payloadCreator(arg, api): any {
624634
throw new Error('')
625635
},
626-
{ pending, fulfilled, rejected }
636+
{ pending, fulfilled, rejected, settled }
627637
),
628638
}),
629639
})
@@ -647,6 +657,13 @@ describe('createSlice', () => {
647657
payload: undefined,
648658
},
649659
],
660+
[
661+
'settledReducer',
662+
{
663+
type: 'test/thunkReducers/rejected',
664+
payload: undefined,
665+
},
666+
],
650667
])
651668
})
652669

@@ -669,6 +686,7 @@ describe('createSlice', () => {
669686
pending,
670687
fulfilled,
671688
rejected,
689+
settled,
672690
}
673691
),
674692
}),
@@ -687,6 +705,14 @@ describe('createSlice', () => {
687705
meta: { condition: true },
688706
},
689707
],
708+
[
709+
'settledReducer',
710+
{
711+
type: 'test/thunkReducers/rejected',
712+
payload: undefined,
713+
meta: { condition: true },
714+
},
715+
],
690716
])
691717
})
692718

@@ -699,13 +725,14 @@ describe('createSlice', () => {
699725
function payloadCreator(arg, api) {
700726
return Promise.resolve('resolved payload')
701727
},
702-
{ pending, fulfilled }
728+
{ pending, fulfilled, settled }
703729
),
704730
}),
705731
})
706732

707733
expect(slice.caseReducers.thunkReducers.pending).toBe(pending)
708734
expect(slice.caseReducers.thunkReducers.fulfilled).toBe(fulfilled)
735+
expect(slice.caseReducers.thunkReducers.settled).toBe(settled)
709736
// even though it is not defined above, this should at least be a no-op function to match the TypeScript typings
710737
// and should be callable as a reducer even if it does nothing
711738
expect(() =>

0 commit comments

Comments
 (0)