Skip to content

Commit f337e4c

Browse files
authored
Merge pull request #10873 from Turbo87/regenerate-button-fix
tests/api-token: Add action button visibility assertions
2 parents 6bca070 + a16962c commit f337e4c

File tree

3 files changed

+34
-14
lines changed

3 files changed

+34
-14
lines changed

app/components/settings/api-tokens.hbs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,15 @@
112112
{{/if}}
113113

114114
<div local-class="actions">
115+
<LinkTo
116+
@route="settings.tokens.new"
117+
@query={{hash from=token.id}}
118+
local-class="regenerate-button"
119+
data-test-regenerate-token-button
120+
>
121+
Regenerate
122+
</LinkTo>
115123
{{#unless token.isExpired}}
116-
<LinkTo
117-
@route="settings.tokens.new"
118-
@query={{hash from=token.id}}
119-
local-class="regenerate-button"
120-
data-test-regenerate-token-button
121-
>
122-
Regenerate
123-
</LinkTo>
124124
<button
125125
type="button"
126126
local-class="revoke-button"

e2e/acceptance/api-token.spec.ts

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ test.describe('Acceptance | api-tokens', { tag: '@acceptance' }, () => {
99
1010
avatar: 'https://avatars2.githubusercontent.com/u/1234567?v=4',
1111
});
12+
13+
msw.db.apiToken.create({
14+
user,
15+
name: 'foo',
16+
createdAt: '2017-08-01T12:34:56',
17+
lastUsedAt: '2017-11-02T01:45:14',
18+
});
19+
1220
msw.db.apiToken.create({
1321
user,
1422
name: 'BAR',
@@ -24,12 +32,6 @@ test.describe('Acceptance | api-tokens', { tag: '@acceptance' }, () => {
2432
lastUsedAt: '2017-11-02T01:45:14',
2533
expiredAt: '2017-11-19T17:59:22',
2634
});
27-
msw.db.apiToken.create({
28-
user,
29-
name: 'foo',
30-
createdAt: '2017-08-01T12:34:56',
31-
lastUsedAt: '2017-11-02T01:45:14',
32-
});
3335

3436
await msw.authenticateAs(user);
3537
});
@@ -89,6 +91,15 @@ test.describe('Acceptance | api-tokens', { tag: '@acceptance' }, () => {
8991
await expect(page).toHaveURL('/settings/tokens');
9092
await expect(page.locator('[data-test-api-token]')).toHaveCount(3);
9193

94+
await expect(page.locator('[data-test-api-token="1"] [data-test-regenerate-token-button]')).toBeVisible();
95+
await expect(page.locator('[data-test-api-token="1"] [data-test-revoke-token-button]')).toBeVisible();
96+
97+
await expect(page.locator('[data-test-api-token="2"] [data-test-regenerate-token-button]')).toBeVisible();
98+
await expect(page.locator('[data-test-api-token="2"] [data-test-revoke-token-button]')).toBeVisible();
99+
100+
await expect(page.locator('[data-test-api-token="3"] [data-test-regenerate-token-button]')).toBeVisible();
101+
await expect(page.locator('[data-test-api-token="3"] [data-test-revoke-token-button]')).not.toBeVisible();
102+
92103
await page.click('[data-test-api-token="1"] [data-test-regenerate-token-button]');
93104
await expect(page).toHaveURL('/settings/tokens/new?from=1');
94105
});

tests/acceptance/api-token-test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,15 @@ module('Acceptance | api-tokens', function (hooks) {
106106
assert.strictEqual(currentURL(), '/settings/tokens');
107107
assert.dom('[data-test-api-token]').exists({ count: 3 });
108108

109+
assert.dom('[data-test-api-token="1"] [data-test-regenerate-token-button]').exists();
110+
assert.dom('[data-test-api-token="1"] [data-test-revoke-token-button]').exists();
111+
112+
assert.dom('[data-test-api-token="2"] [data-test-regenerate-token-button]').exists();
113+
assert.dom('[data-test-api-token="2"] [data-test-revoke-token-button]').exists();
114+
115+
assert.dom('[data-test-api-token="3"] [data-test-regenerate-token-button]').exists();
116+
assert.dom('[data-test-api-token="3"] [data-test-revoke-token-button]').doesNotExist();
117+
109118
await click('[data-test-api-token="1"] [data-test-regenerate-token-button]');
110119
assert.strictEqual(currentURL(), '/settings/tokens/new?from=1');
111120
});

0 commit comments

Comments
 (0)