From 259b5f719665974c4ebba2f2433bd91b7d481245 Mon Sep 17 00:00:00 2001 From: Chad Hietala Date: Mon, 10 Dec 2018 15:54:06 -0500 Subject: [PATCH] [BUGFIX] Ensure that delayed transition retrys work Targeting master branch with same fix as https://github.com/emberjs/ember.js/pull/17328 --- package.json | 2 +- .../router_service_test/events_test.js | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 508d046bea8..6d7dc67f5a8 100644 --- a/package.json +++ b/package.json @@ -148,7 +148,7 @@ "puppeteer": "^1.3.0", "qunit": "^2.8.0", "route-recognizer": "^0.3.4", - "router_js": "^6.1.3", + "router_js": "^6.2.1", "rsvp": "^4.8.4", "semver": "^5.5.0", "serve-static": "^1.13.2", diff --git a/packages/ember/tests/routing/router_service_test/events_test.js b/packages/ember/tests/routing/router_service_test/events_test.js index 253415ee392..1456ab2164a 100644 --- a/packages/ember/tests/routing/router_service_test/events_test.js +++ b/packages/ember/tests/routing/router_service_test/events_test.js @@ -2,6 +2,7 @@ import { RouterTestCase, moduleFor } from 'internal-test-helpers'; import { EMBER_ROUTING_ROUTER_SERVICE } from '@ember/canary-features'; import { inject as service } from '@ember/service'; import { Route } from '@ember/-internals/routing'; +import { later } from '@ember/runloop'; if (EMBER_ROUTING_ROUTER_SERVICE) { moduleFor( @@ -99,6 +100,33 @@ if (EMBER_ROUTING_ROUTER_SERVICE) { }); } + '@test transitions can be retried async'(assert) { + let done = assert.async(); + this.add( + `route:parent.child`, + Route.extend({ + actions: { + willTransition(transition) { + transition.abort(); + this.intermediateTransitionTo('parent.sister'); + later(() => { + transition.retry(); + done(); + }, 500); + }, + }, + }) + ); + + return this.visit('/child') + .then(() => { + return this.visit('/'); + }) + .catch(e => { + assert.equal(e.message, 'TransitionAborted'); + }); + } + '@test redirection with `transitionTo`'(assert) { assert.expect(8); let toChild = false;