Skip to content

Commit b3034ac

Browse files
committed
fix: reintroduce module for tests
1 parent 974476a commit b3034ac

File tree

1 file changed

+95
-0
lines changed

1 file changed

+95
-0
lines changed

tests/mirage/me/crate-owner-invitations/list-test.js

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,101 @@ import fetch from 'fetch';
55
import { setupTest } from '../../../helpers';
66
import setupMirage from '../../../helpers/setup-mirage';
77

8+
module('Mirage | GET /api/v1/me/crate_owner_invitations', function (hooks) {
9+
setupTest(hooks);
10+
setupMirage(hooks);
11+
12+
test('empty case', async function (assert) {
13+
let user = this.server.create('user');
14+
this.server.create('mirage-session', { user });
15+
16+
let response = await fetch('/api/v1/me/crate_owner_invitations');
17+
assert.equal(response.status, 200);
18+
assert.deepEqual(await response.json(), { crate_owner_invitations: [] });
19+
});
20+
21+
test('returns the list of invitations for the authenticated user', async function (assert) {
22+
let nanomsg = this.server.create('crate', { name: 'nanomsg' });
23+
this.server.create('version', { crate: nanomsg });
24+
25+
let ember = this.server.create('crate', { name: 'ember-rs' });
26+
this.server.create('version', { crate: ember });
27+
28+
let user = this.server.create('user');
29+
this.server.create('mirage-session', { user });
30+
31+
let inviter = this.server.create('user', { name: 'janed' });
32+
this.server.create('crate-owner-invitation', {
33+
crate: nanomsg,
34+
createdAt: '2016-12-24T12:34:56Z',
35+
invitee: user,
36+
inviter,
37+
});
38+
39+
let inviter2 = this.server.create('user', { name: 'wycats' });
40+
this.server.create('crate-owner-invitation', {
41+
crate: ember,
42+
createdAt: '2020-12-31T12:34:56Z',
43+
invitee: user,
44+
inviter: inviter2,
45+
});
46+
47+
let response = await fetch('/api/private/crate_owner_invitations');
48+
assert.equal(response.status, 200);
49+
assert.deepEqual(await response.json(), {
50+
crate_owner_invitations: [
51+
{
52+
crate_id: Number(nanomsg.id),
53+
crate_name: 'nanomsg',
54+
created_at: '2016-12-24T12:34:56Z',
55+
invited_by_username: 'janed',
56+
invitee_id: Number(user.id),
57+
inviter_id: Number(inviter.id),
58+
},
59+
{
60+
crate_id: Number(ember.id),
61+
crate_name: 'ember-rs',
62+
created_at: '2020-12-31T12:34:56Z',
63+
invited_by_username: 'wycats',
64+
invitee_id: Number(user.id),
65+
inviter_id: Number(inviter2.id),
66+
},
67+
],
68+
users: [
69+
{
70+
avatar: user.avatar,
71+
id: Number(user.id),
72+
login: user.login,
73+
name: user.name,
74+
url: user.url,
75+
},
76+
{
77+
avatar: 'https://avatars1.githubusercontent.com/u/14631425?v=4',
78+
id: Number(inviter.id),
79+
login: 'janed',
80+
name: 'janed',
81+
url: 'https://github.com/janed',
82+
},
83+
{
84+
avatar: 'https://avatars1.githubusercontent.com/u/14631425?v=4',
85+
id: Number(inviter2.id),
86+
login: 'wycats',
87+
name: 'wycats',
88+
url: 'https://github.com/wycats',
89+
},
90+
],
91+
});
92+
});
93+
94+
test('returns an error if unauthenticated', async function (assert) {
95+
let response = await fetch('/api/private/crate_owner_invitations');
96+
assert.equal(response.status, 403);
97+
assert.deepEqual(await response.json(), {
98+
errors: [{ detail: 'must be logged in to perform that action' }],
99+
});
100+
});
101+
});
102+
8103
module('Mirage | GET /api/private/crate_owner_invitations', function (hooks) {
9104
setupTest(hooks);
10105
setupMirage(hooks);

0 commit comments

Comments
 (0)