From 98196fd746a5b31166a92ebf03ceee80ddaf00e7 Mon Sep 17 00:00:00 2001 From: Romain Lanz Date: Tue, 26 Mar 2024 21:57:48 +0100 Subject: [PATCH] test(base_model): add test about findBy --- test/orm/base_model.spec.ts | 58 +++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/test/orm/base_model.spec.ts b/test/orm/base_model.spec.ts index 67796f1b..6556877b 100644 --- a/test/orm/base_model.spec.ts +++ b/test/orm/base_model.spec.ts @@ -3780,6 +3780,64 @@ test.group('Base Model | fetch', (group) => { assert.equal(users[1].$primaryKeyValue, 1) }) + test('findBy using a clause', async ({ fs, assert }) => { + const app = new AppFactory().create(fs.baseUrl, () => {}) + await app.init() + const db = getDb() + const adapter = ormAdapter(db) + + const BaseModel = getBaseModel(adapter) + + class User extends BaseModel { + @column({ isPrimary: true }) + declare id: number + + @column() + declare username: string + + @column() + declare email: string + } + + await db + .insertQuery() + .table('users') + .multiInsert([{ username: 'virk' }, { username: 'nikk' }]) + + const user = await User.findBy({ username: 'virk' }) + assert.isDefined(user) + assert.equal(user?.username, 'virk') + }) + + test('findBy using a key/value pair', async ({ fs, assert }) => { + const app = new AppFactory().create(fs.baseUrl, () => {}) + await app.init() + const db = getDb() + const adapter = ormAdapter(db) + + const BaseModel = getBaseModel(adapter) + + class User extends BaseModel { + @column({ isPrimary: true }) + declare id: number + + @column() + declare username: string + + @column() + declare email: string + } + + await db + .insertQuery() + .table('users') + .multiInsert([{ username: 'virk' }, { username: 'nikk' }]) + + const user = await User.findBy('username', 'virk') + assert.isDefined(user) + assert.equal(user?.username, 'virk') + }) + test('find many using a clause', async ({ fs, assert }) => { const app = new AppFactory().create(fs.baseUrl, () => {}) await app.init()