Skip to content

Commit 44beb5f

Browse files
committed
Auto merge of #3428 - hi-rustin:rustin-patch-fix, r=Turbo87
Redirect /owners to /settings close #3244
2 parents b1beb4f + ed31d06 commit 44beb5f

File tree

8 files changed

+35
-17
lines changed

8 files changed

+35
-17
lines changed

app/controllers/crate/owners.js renamed to app/controllers/crate/settings.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { inject as service } from '@ember/service';
33

44
import { task } from 'ember-concurrency';
55

6-
export default class CrateOwnersController extends Controller {
6+
export default class CrateSettingsController extends Controller {
77
@service notifications;
88

99
crate = null;

app/router.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Router.map(function () {
2020
this.route('reverse-dependencies', { path: 'reverse_dependencies' });
2121

2222
this.route('owners');
23+
this.route('settings');
2324

2425
// Well-known routes
2526
this.route('docs');

app/routes/crate/owners.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import Route from '@ember/routing/route';
22

33
export default class OwnersRoute extends Route {
4-
setupController(controller) {
5-
super.setupController(...arguments);
4+
redirect() {
65
let crate = this.modelFor('crate');
7-
controller.set('crate', crate);
6+
7+
this.transitionTo('crate.settings', crate);
88
}
99
}

app/routes/crate/settings.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import Route from '@ember/routing/route';
2+
3+
export default class SettingsRoute extends Route {
4+
setupController(controller) {
5+
super.setupController(...arguments);
6+
let crate = this.modelFor('crate');
7+
controller.set('crate', crate);
8+
}
9+
}

app/templates/crate/owners.hbs renamed to app/templates/crate/settings.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{page-title 'Manage Crate Owners'}}
1+
{{page-title 'Manage Crate Settings'}}
22

33
<CrateHeader @crate={{this.crate}} />
44

tests/acceptance/crate-test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ module('Acceptance | crate page', function (hooks) {
201201
assert.dom('[data-test-settings-tab]').doesNotExist();
202202
});
203203

204-
test('navigating to the owners page', async function (assert) {
204+
test('navigating to the settings page', async function (assert) {
205205
this.server.loadFixtures();
206206

207207
let user = this.server.schema.users.findBy({ login: 'thehydroimpulse' });
@@ -210,6 +210,6 @@ module('Acceptance | crate page', function (hooks) {
210210
await visit('/crates/nanomsg');
211211
await click('[data-test-settings-tab] a');
212212

213-
assert.equal(currentURL(), '/crates/nanomsg/owners');
213+
assert.equal(currentURL(), '/crates/nanomsg/settings');
214214
});
215215
});

tests/acceptance/owners-test.js renamed to tests/acceptance/settings-test.js

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { click, fillIn, visit } from '@ember/test-helpers';
1+
import { click, currentURL, fillIn, visit } from '@ember/test-helpers';
22
import { module, test } from 'qunit';
33

44
import percySnapshot from '@percy/ember';
@@ -8,13 +8,14 @@ import { setupApplicationTest } from 'cargo/tests/helpers';
88

99
import axeConfig from '../axe-config';
1010

11-
module('Acceptance | /crates/:name/owners', function (hooks) {
11+
module('Acceptance | /crates/:name/settings', function (hooks) {
1212
setupApplicationTest(hooks);
1313

1414
test('listing crate owners', async function (assert) {
1515
this.server.loadFixtures();
1616

17-
await visit('/crates/nanomsg/owners');
17+
await visit('/crates/nanomsg/settings');
18+
assert.equal(currentURL(), '/crates/nanomsg/settings');
1819

1920
assert.dom('[data-test-owners] [data-test-owner-team]').exists({ count: 2 });
2021
assert.dom('[data-test-owners] [data-test-owner-user]').exists({ count: 2 });
@@ -27,18 +28,25 @@ module('Acceptance | /crates/:name/owners', function (hooks) {
2728
await a11yAudit(axeConfig);
2829
});
2930

30-
test('attempting to add owner without username', async function (assert) {
31+
test('/crates/:name/owners redirects to /crates/:name/settings', async function (assert) {
3132
this.server.loadFixtures();
3233

3334
await visit('/crates/nanomsg/owners');
35+
assert.equal(currentURL(), '/crates/nanomsg/settings');
36+
});
37+
38+
test('attempting to add owner without username', async function (assert) {
39+
this.server.loadFixtures();
40+
41+
await visit('/crates/nanomsg/settings');
3442
await fillIn('input[name="username"]', '');
3543
assert.dom('[data-test-save-button]').isDisabled();
3644
});
3745

3846
test('attempting to add non-existent owner', async function (assert) {
3947
this.server.loadFixtures();
4048

41-
await visit('/crates/nanomsg/owners');
49+
await visit('/crates/nanomsg/settings');
4250
await fillIn('input[name="username"]', 'spookyghostboo');
4351
await click('[data-test-save-button]');
4452

@@ -52,7 +60,7 @@ module('Acceptance | /crates/:name/owners', function (hooks) {
5260
test('add a new owner', async function (assert) {
5361
this.server.loadFixtures();
5462

55-
await visit('/crates/nanomsg/owners');
63+
await visit('/crates/nanomsg/settings');
5664
await fillIn('input[name="username"]', 'iain8');
5765
await click('[data-test-save-button]');
5866

@@ -64,7 +72,7 @@ module('Acceptance | /crates/:name/owners', function (hooks) {
6472
test('remove a crate owner when owner is a user', async function (assert) {
6573
this.server.loadFixtures();
6674

67-
await visit('/crates/nanomsg/owners');
75+
await visit('/crates/nanomsg/settings');
6876
await click('[data-test-owner-user="thehydroimpulse"] [data-test-remove-owner-button]');
6977

7078
assert.dom('[data-test-notification-message="success"]').hasText('User thehydroimpulse removed as crate owner');
@@ -86,7 +94,7 @@ module('Acceptance | /crates/:name/owners', function (hooks) {
8694

8795
this.authenticateAs(user);
8896

89-
await visit(`/crates/${crate.name}/owners`);
97+
await visit(`/crates/${crate.name}/settings`);
9098
await click(`[data-test-owner-user="${user2.login}"] [data-test-remove-owner-button]`);
9199

92100
assert
@@ -98,7 +106,7 @@ module('Acceptance | /crates/:name/owners', function (hooks) {
98106
test('remove a crate owner when owner is a team', async function (assert) {
99107
this.server.loadFixtures();
100108

101-
await visit('/crates/nanomsg/owners');
109+
await visit('/crates/nanomsg/settings');
102110
await click('[data-test-owner-team="github:org:thehydroimpulse"] [data-test-remove-owner-button]');
103111

104112
assert
@@ -122,7 +130,7 @@ module('Acceptance | /crates/:name/owners', function (hooks) {
122130

123131
this.authenticateAs(user);
124132

125-
await visit(`/crates/${crate.name}/owners`);
133+
await visit(`/crates/${crate.name}/settings`);
126134
await click(`[data-test-owner-team="${team.login}"] [data-test-remove-owner-button]`);
127135

128136
assert

0 commit comments

Comments
 (0)