Skip to content

Commit e7fa77b

Browse files
committed
mirage: Add authentication check to GET /api/v1/me/crate_owner_invitations route handler
1 parent 2295fd8 commit e7fa77b

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

mirage/route-handlers/me.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,5 +99,12 @@ export function register(server) {
9999
return { ok: true };
100100
});
101101

102-
server.get('/api/v1/me/crate_owner_invitations', { crate_owner_invitations: [] });
102+
server.get('/api/v1/me/crate_owner_invitations', function (schema) {
103+
let { user } = getSession(schema);
104+
if (!user) {
105+
return new Response(403, {}, { errors: [{ detail: 'must be logged in to perform that action' }] });
106+
}
107+
108+
return { crate_owner_invitations: [] };
109+
});
103110
}

tests/mirage/invitations-test.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ module('Mirage | Crate Owner Invitations', function (hooks) {
1313

1414
module('GET /api/v1/me/crate_owner_invitations', function () {
1515
test('empty case', async function (assert) {
16+
let user = this.server.create('user');
17+
this.server.create('mirage-session', { user });
18+
1619
let response = await fetch('/api/v1/me/crate_owner_invitations');
1720
assert.equal(response.status, 200);
1821

@@ -95,5 +98,15 @@ module('Mirage | Crate Owner Invitations', function (hooks) {
9598
],
9699
});
97100
});
101+
102+
test('returns an error if unauthenticated', async function (assert) {
103+
let response = await fetch('/api/v1/me/crate_owner_invitations');
104+
assert.equal(response.status, 403);
105+
106+
let responsePayload = await response.json();
107+
assert.deepEqual(responsePayload, {
108+
errors: [{ detail: 'must be logged in to perform that action' }],
109+
});
110+
});
98111
});
99112
});

0 commit comments

Comments
 (0)