Skip to content

Commit 7de044c

Browse files
committed
mirage: Split test files into one file per endpoint
Having files with 600+ lines that test 7 different endpoints is starting to become unmaintainable...
1 parent 0435e20 commit 7de044c

30 files changed

+1820
-1608
lines changed

tests/mirage/categories-test.js renamed to tests/mirage/categories/list-test.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@ import { module, test } from 'qunit';
22

33
import fetch from 'fetch';
44

5-
import { setupTest } from 'cargo/tests/helpers';
6-
7-
import setupMirage from '../helpers/setup-mirage';
5+
import { setupTest } from '../../helpers';
6+
import setupMirage from '../../helpers/setup-mirage';
87

98
module('Mirage | Categories', function (hooks) {
109
setupTest(hooks);
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import { module, test } from 'qunit';
2+
3+
import fetch from 'fetch';
4+
5+
import { setupTest } from '../../helpers';
6+
import setupMirage from '../../helpers/setup-mirage';
7+
8+
module('Mirage | /me', function (hooks) {
9+
setupTest(hooks);
10+
setupMirage(hooks);
11+
12+
module('PUT /api/v1/confirm/:token', function () {
13+
test('returns `ok: true` for a known token (unauthenticated)', async function (assert) {
14+
let user = this.server.create('user', { emailVerificationToken: 'foo' });
15+
assert.strictEqual(user.emailVerified, false);
16+
17+
let response = await fetch('/api/v1/confirm/foo', { method: 'PUT' });
18+
assert.equal(response.status, 200);
19+
20+
let responsePayload = await response.json();
21+
assert.deepEqual(responsePayload, { ok: true });
22+
23+
user.reload();
24+
assert.strictEqual(user.emailVerified, true);
25+
});
26+
27+
test('returns `ok: true` for a known token (authenticated)', async function (assert) {
28+
let user = this.server.create('user', { emailVerificationToken: 'foo' });
29+
assert.strictEqual(user.emailVerified, false);
30+
31+
this.server.create('mirage-session', { user });
32+
33+
let response = await fetch('/api/v1/confirm/foo', { method: 'PUT' });
34+
assert.equal(response.status, 200);
35+
36+
let responsePayload = await response.json();
37+
assert.deepEqual(responsePayload, { ok: true });
38+
39+
user.reload();
40+
assert.strictEqual(user.emailVerified, true);
41+
});
42+
43+
test('returns an error for unknown tokens', async function (assert) {
44+
let response = await fetch('/api/v1/confirm/unknown', { method: 'PUT' });
45+
assert.equal(response.status, 400);
46+
47+
let responsePayload = await response.json();
48+
assert.deepEqual(responsePayload, {
49+
errors: [{ detail: 'Email belonging to token not found.' }],
50+
});
51+
});
52+
});
53+
});

0 commit comments

Comments
 (0)