Add a beforeModel hook at dc/index to auto transition to services

This commit is contained in:
John Cowen 2018-06-21 12:44:32 +01:00
parent 3c63d3dbb0
commit 3325872daf
5 changed files with 41 additions and 1 deletions

View File

@ -0,0 +1,7 @@
import Route from '@ember/routing/route';
export default Route.extend({
beforeModel: function() {
this.transitionTo('dc.services');
},
});

View File

@ -0,0 +1,12 @@
@setupApplicationTest
Feature: dc forwarding
In order to arrive at a useful page when only specifying a dc in the url
As a user
I should be redirected to the services page for the dc
Scenario: Arriving at the datacenter index page with no other url info
Given 1 datacenter model with the value "datacenter"
When I visit the dcs page for yaml
---
dc: datacenter
---
Then the url should be /datacenter/services

View File

@ -0,0 +1,10 @@
import steps from '../steps';
// step definitions that are shared between features should be moved to the
// tests/acceptance/steps/steps.js file
export default function(assert) {
return steps(assert).then('I should find a file', function() {
assert.ok(true, this.step);
});
}

View File

@ -1,7 +1,7 @@
import { create, visitable, attribute, collection, clickable } from 'ember-cli-page-object'; import { create, visitable, attribute, collection, clickable } from 'ember-cli-page-object';
export default create({ export default create({
visit: visitable('/:dc/services/'), visit: visitable('/:dc/'),
dcs: collection('[data-test-datacenter-picker]'), dcs: collection('[data-test-datacenter-picker]'),
showDatacenters: clickable('[data-test-datacenter-selected]'), showDatacenters: clickable('[data-test-datacenter-selected]'),
selectedDc: attribute('data-test-datacenter-selected', '[data-test-datacenter-selected]'), selectedDc: attribute('data-test-datacenter-selected', '[data-test-datacenter-selected]'),

View File

@ -0,0 +1,11 @@
import { moduleFor, test } from 'ember-qunit';
moduleFor('route:dc/index', 'Unit | Route | dc/index', {
// Specify the other units that are required for this test.
// needs: ['controller:foo']
});
test('it exists', function(assert) {
let route = this.subject();
assert.ok(route);
});