diff options
Diffstat (limited to 'history/modules/__tests__/TestSequences/DenyGoForward.js')
-rw-r--r-- | history/modules/__tests__/TestSequences/DenyGoForward.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/history/modules/__tests__/TestSequences/DenyGoForward.js b/history/modules/__tests__/TestSequences/DenyGoForward.js new file mode 100644 index 0000000..fa27a93 --- /dev/null +++ b/history/modules/__tests__/TestSequences/DenyGoForward.js @@ -0,0 +1,50 @@ +import expect from 'expect'; + +import execSteps from './execSteps.js'; + +export default function(history, done) { + let unblock; + const steps = [ + location => { + expect(location).toMatchObject({ + pathname: '/' + }); + + history.push('/home'); + }, + (location, action) => { + expect(action).toBe('PUSH'); + expect(location).toMatchObject({ + pathname: '/home' + }); + + history.goBack(); + }, + (location, action) => { + expect(action).toBe('POP'); + expect(location).toMatchObject({ + pathname: '/' + }); + + unblock = history.block(nextLocation => { + expect(nextLocation).toMatchObject({ + pathname: '/home' + }); + + return 'Are you sure?'; + }); + + history.goForward(); + }, + (location, action) => { + expect(action).toBe('POP'); + expect(location).toMatchObject({ + pathname: '/' + }); + + unblock(); + } + ]; + + execSteps(steps, history, done); +} |