diff --git a/server/api/team.js b/server/api/team.js index ea9f817a..c71f8d82 100644 --- a/server/api/team.js +++ b/server/api/team.js @@ -37,17 +37,19 @@ router.post("team.update", auth(), async (ctx) => { await team.save(); - for (const change of changes) { - data[change] = team[change]; - } + if (changes) { + for (const change of changes) { + data[change] = team[change]; + } - await Event.create({ - name: "teams.update", - actorId: user.id, - teamId: user.teamId, - data, - ip: ctx.request.ip, - }); + await Event.create({ + name: "teams.update", + actorId: user.id, + teamId: user.teamId, + data, + ip: ctx.request.ip, + }); + } ctx.body = { data: presentTeam(team), diff --git a/server/api/team.test.js b/server/api/team.test.js index 7fb3ba54..09675a73 100644 --- a/server/api/team.test.js +++ b/server/api/team.test.js @@ -21,6 +21,17 @@ describe("#team.update", () => { expect(body.data.name).toEqual("New name"); }); + it("should allow identical team details", async () => { + const { admin, team } = await seed(); + const res = await server.post("/api/team.update", { + body: { token: admin.getJwtToken(), name: team.name }, + }); + const body = await res.json(); + + expect(res.status).toEqual(200); + expect(body.data.name).toEqual(team.name); + }); + it("should require admin", async () => { const { user } = await seed(); const res = await server.post("/api/team.update", {