Skip to content

Commit 6edac62

Browse files
committed
mirage: Add missing msg fields to the add owner endpoint responses
1 parent 41b0b19 commit 6edac62

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

mirage/route-handlers/crates.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,7 @@ export function register(server) {
243243

244244
let users = [];
245245
let teams = [];
246+
let msgs = [];
246247
for (let login of body.owners) {
247248
if (login.includes(':')) {
248249
let team = schema.teams.findBy({ login });
@@ -251,13 +252,15 @@ export function register(server) {
251252
}
252253

253254
teams.push(team);
255+
msgs.push(`team ${login} has been added as an owner of crate ${crate.name}`);
254256
} else {
255257
let user = schema.users.findBy({ login });
256258
if (!user) {
257259
return new Response(404, {}, { errors: [{ detail: `could not find user with login \`${login}\`` }] });
258260
}
259261

260262
users.push(user);
263+
msgs.push(`user ${login} has been invited to be an owner of crate ${crate.name}`);
261264
}
262265
}
263266

@@ -269,7 +272,8 @@ export function register(server) {
269272
schema.crateOwnerInvitations.create({ crate, inviter: user, invitee });
270273
}
271274

272-
return { ok: true };
275+
let msg = msgs.join(',');
276+
return { ok: true, msg };
273277
});
274278

275279
server.delete('/api/v1/crates/:name/owners', (schema, request) => {

tests/mirage/crates/add-owner-test.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ module('Mirage | PUT /api/v1/crates/:name/owners', function (hooks) {
4040
let body = JSON.stringify({ owners: [user2.login] });
4141
let response = await fetch('/api/v1/crates/foo/owners', { method: 'PUT', body });
4242
assert.strictEqual(response.status, 200);
43-
assert.deepEqual(await response.json(), { ok: true });
43+
assert.deepEqual(await response.json(), {
44+
ok: true,
45+
msg: 'user user-2 has been invited to be an owner of crate foo',
46+
});
4447

4548
let owners = this.server.schema.crateOwnerships.where({ crateId: crate.id });
4649
assert.strictEqual(owners.length, 1);
@@ -64,7 +67,10 @@ module('Mirage | PUT /api/v1/crates/:name/owners', function (hooks) {
6467
let body = JSON.stringify({ owners: [team.login] });
6568
let response = await fetch('/api/v1/crates/foo/owners', { method: 'PUT', body });
6669
assert.strictEqual(response.status, 200);
67-
assert.deepEqual(await response.json(), { ok: true });
70+
assert.deepEqual(await response.json(), {
71+
ok: true,
72+
msg: 'team github:rust-lang:team-1 has been added as an owner of crate foo',
73+
});
6874

6975
let owners = this.server.schema.crateOwnerships.where({ crateId: crate.id });
7076
assert.strictEqual(owners.length, 2);
@@ -91,7 +97,10 @@ module('Mirage | PUT /api/v1/crates/:name/owners', function (hooks) {
9197
let body = JSON.stringify({ owners: [user2.login, team.login, user3.login] });
9298
let response = await fetch('/api/v1/crates/foo/owners', { method: 'PUT', body });
9399
assert.strictEqual(response.status, 200);
94-
assert.deepEqual(await response.json(), { ok: true });
100+
assert.deepEqual(await response.json(), {
101+
ok: true,
102+
msg: 'user user-2 has been invited to be an owner of crate foo,team github:rust-lang:team-1 has been added as an owner of crate foo,user user-3 has been invited to be an owner of crate foo',
103+
});
95104

96105
let owners = this.server.schema.crateOwnerships.where({ crateId: crate.id });
97106
assert.strictEqual(owners.length, 2);

tests/models/crate-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ module('Model | Crate', function (hooks) {
2525
let crateRecord = await this.store.findRecord('crate', crate.name);
2626

2727
let result = await crateRecord.inviteOwner(user2.login);
28-
assert.deepEqual(result, { ok: true });
28+
assert.deepEqual(result, { ok: true, msg: 'user user-2 has been invited to be an owner of crate crate-0' });
2929
});
3030

3131
test('error handling', async function (assert) {

0 commit comments

Comments
 (0)