summaryrefslogtreecommitdiff
path: root/history/modules/__tests__/TestSequences/DenyGoForward.js
diff options
context:
space:
mode:
Diffstat (limited to 'history/modules/__tests__/TestSequences/DenyGoForward.js')
-rw-r--r--history/modules/__tests__/TestSequences/DenyGoForward.js50
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);
+}