diff --git a/package-lock.json b/package-lock.json index f732210..27260ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@athenna/database", - "version": "5.27.0", + "version": "5.29.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@athenna/database", - "version": "5.27.0", + "version": "5.29.0", "license": "MIT", "dependencies": { "@faker-js/faker": "^8.4.1" diff --git a/package.json b/package.json index 9693fd6..0850abf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@athenna/database", - "version": "5.28.0", + "version": "5.29.0", "description": "The Athenna database handler for SQL/NoSQL.", "license": "MIT", "author": "João Lenon ", diff --git a/src/database/drivers/MySqlDriver.ts b/src/database/drivers/MySqlDriver.ts index 9cf5e03..eaf6faf 100644 --- a/src/database/drivers/MySqlDriver.ts +++ b/src/database/drivers/MySqlDriver.ts @@ -929,6 +929,16 @@ export class MySqlDriver extends Driver { } if (operation === undefined) { + if (Is.Array(statement)) { + throw new Error('Arrays as statement are not supported.') + } + + if (Is.String(statement)) { + throw new Error( + `The value for the "${statement}" column is undefined and where will not work.` + ) + } + this.qb.where(statement) return this diff --git a/src/database/drivers/PostgresDriver.ts b/src/database/drivers/PostgresDriver.ts index 153860d..66dccdd 100644 --- a/src/database/drivers/PostgresDriver.ts +++ b/src/database/drivers/PostgresDriver.ts @@ -923,6 +923,16 @@ export class PostgresDriver extends Driver { } if (operation === undefined) { + if (Is.Array(statement)) { + throw new Error('Arrays as statement are not supported.') + } + + if (Is.String(statement)) { + throw new Error( + `The value for the "${statement}" column is undefined and where will not work.` + ) + } + this.qb.where(statement) return this diff --git a/src/database/drivers/SqliteDriver.ts b/src/database/drivers/SqliteDriver.ts index 8f5e465..4919c54 100644 --- a/src/database/drivers/SqliteDriver.ts +++ b/src/database/drivers/SqliteDriver.ts @@ -922,6 +922,16 @@ export class SqliteDriver extends Driver { } if (operation === undefined) { + if (Is.Array(statement)) { + throw new Error('Arrays as statement are not supported.') + } + + if (Is.String(statement)) { + throw new Error( + `The value for the "${statement}" column is undefined and where will not work.` + ) + } + this.qb.where(statement) return this diff --git a/tests/unit/models/factories/ModelGeneratorTest.ts b/tests/unit/models/factories/ModelGeneratorTest.ts index 3f7fc10..9bb0502 100644 --- a/tests/unit/models/factories/ModelGeneratorTest.ts +++ b/tests/unit/models/factories/ModelGeneratorTest.ts @@ -29,7 +29,7 @@ export default class ModelGeneratorTest { const data = await new ModelGenerator(User, User.schema()).generateOne({ id: '1' }) - assert.deepEqual(data, { id: '1' }) + assert.containSubset(data, { id: '1' }) } @Test() @@ -41,7 +41,7 @@ export default class ModelGeneratorTest { const data = await new ModelGenerator(User, User.schema()).generateOne({ _id: '1' }) - assert.deepEqual(data, { id: '1' }) + assert.containSubset(data, { id: '1' }) } @Test() @@ -65,7 +65,7 @@ export default class ModelGeneratorTest { const data = await new ModelGenerator(User, User.schema()).generateMany([{ id: '1' }]) - assert.deepEqual(data, [{ id: '1' }]) + assert.containSubset(data, [{ id: '1' }]) } @Test() @@ -77,7 +77,7 @@ export default class ModelGeneratorTest { const data = await new ModelGenerator(User, User.schema()).generateMany([{ _id: '1' }]) - assert.deepEqual(data, [{ id: '1' }]) + assert.containSubset(data, [{ id: '1' }]) } @Test() @@ -127,7 +127,7 @@ export default class ModelGeneratorTest { const data = await new ModelGenerator(User, schema).generateOne({ _id: '1' }) - assert.deepEqual(data, { id: '1', profile: { userId: '1' } }) + assert.containSubset(data, { id: '1', profile: { userId: '1' } }) } @Test() @@ -153,7 +153,7 @@ export default class ModelGeneratorTest { const data = await new ModelGenerator(User, schema).generateOne({ _id: '1' }) - assert.deepEqual(data, { id: '1' }) + assert.containSubset(data, { id: '1' }) } @Test() @@ -177,7 +177,7 @@ export default class ModelGeneratorTest { const data = await new ModelGenerator(User, schema).generateMany([{ _id: '1' }]) - assert.deepEqual(data, [{ id: '1', profile: { userId: '1' } }]) + assert.containSubset(data, [{ id: '1', profile: { userId: '1' } }]) } @Test() @@ -201,6 +201,6 @@ export default class ModelGeneratorTest { const data = await new ModelGenerator(User, schema).generateMany([{ _id: '1' }]) - assert.deepEqual(data, [{ id: '1' }]) + assert.containSubset(data, [{ id: '1' }]) } }