Skip to content

Commit 3b3d6bd

Browse files
authored
settings/tokens: Make sure to always reload API tokens from the server (#6449)
1 parent 879ce1d commit 3b3d6bd

File tree

2 files changed

+45
-1
lines changed

2 files changed

+45
-1
lines changed

app/routes/settings/tokens/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export default class TokenListRoute extends Route {
77
@service store;
88

99
async model() {
10-
let apiTokens = await this.store.findAll('api-token');
10+
let apiTokens = await this.store.findAll('api-token', { reload: true });
1111
return TrackedArray.from(apiTokens.slice());
1212
}
1313

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { click, currentURL, fillIn, findAll } from '@ember/test-helpers';
2+
import { module, test } from 'qunit';
3+
4+
import { setupApplicationTest } from 'cargo/tests/helpers';
5+
6+
import { visit } from '../../../helpers/visit-ignoring-abort';
7+
8+
module('/settings/tokens', function (hooks) {
9+
setupApplicationTest(hooks);
10+
11+
function prepare(context) {
12+
let user = context.server.create('user', {
13+
login: 'johnnydee',
14+
name: 'John Doe',
15+
email: 'john@doe.com',
16+
avatar: 'https://avatars2.githubusercontent.com/u/1234567?v=4',
17+
});
18+
19+
context.authenticateAs(user);
20+
21+
return { user };
22+
}
23+
24+
test('reloads all tokens from the server', async function (assert) {
25+
let { user } = prepare(this);
26+
27+
this.server.create('api-token', { user, name: 'token-1' });
28+
29+
await visit('/settings/tokens/new');
30+
assert.strictEqual(currentURL(), '/settings/tokens/new');
31+
32+
await fillIn('[data-test-name]', 'token-2');
33+
await click('[data-test-scope="publish-update"]');
34+
await click('[data-test-generate]');
35+
36+
assert.strictEqual(currentURL(), '/settings/tokens');
37+
assert.dom('[data-test-api-token]').exists({ count: 2 });
38+
let tokens = findAll('[data-test-api-token]');
39+
assert.dom('[data-test-name]', tokens[0]).hasText('token-2');
40+
assert.dom('[data-test-token]', tokens[0]).exists();
41+
assert.dom('[data-test-name]', tokens[1]).hasText('token-1');
42+
assert.dom('[data-test-token]', tokens[1]).doesNotExist();
43+
});
44+
});

0 commit comments

Comments
 (0)