From 6350443757a257725de029d3e01ad865826849eb Mon Sep 17 00:00:00 2001 From: Kenneth Trecy Tobias <19201.tobias.kennethtrecy.c@gmail.com> Date: Fri, 16 Sep 2022 19:10:41 +0800 Subject: [PATCH] unit(manager): ensure unattached users cannot be checked --- database/managers/helpers/condition.ts | 2 +- database/managers/role.spec.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/database/managers/helpers/condition.ts b/database/managers/helpers/condition.ts index a8e1b5911..e7bf7826e 100644 --- a/database/managers/helpers/condition.ts +++ b/database/managers/helpers/condition.ts @@ -72,7 +72,7 @@ export default class Condition { return this } - isIncludedIn(column: string, value: any[]): Condition { + isIncludedIn(column: string, value: any[]|Literal): Condition { this.currentCondition[column] = { [Op.in]: value } return this } diff --git a/database/managers/role.spec.ts b/database/managers/role.spec.ts index 99ebac405..4b441295c 100644 --- a/database/managers/role.spec.ts +++ b/database/managers/role.spec.ts @@ -40,6 +40,17 @@ describe("Database Manager: Role read operations", () => { expect(isTheOnlyRole).toBeFalsy() }) + it("cannot check for unattached user", async() => { + const manager = new Manager() + const model = await new Factory().insertOne() + const otherModel = await new Factory().insertOne() + await new UserFactory().attach(model).insertOne() + + const isTheOnlyRole = await manager.isTheOnlyRoleToAnyUser(otherModel.id) + + expect(isTheOnlyRole).toBeFalsy() + }) + it("can count single model", async() => { const manager = new Manager() const model = await new Factory().insertOne()