diff --git a/Enterprise/test/database.js b/Enterprise/test/database.js index c0e22e7..ec21df7 100644 --- a/Enterprise/test/database.js +++ b/Enterprise/test/database.js @@ -2,8 +2,8 @@ import test from 'node:test'; import assert from 'node:assert/strict'; import 'fake-indexeddb/auto'; import { Database } from '../static/database.js'; -import { Repository, Service } from '../static/core.js'; -import { UserModel, UserRepository, UserService } from '../static/user.js'; +import { Repository } from '../static/core.js'; +import { UserModel } from '../static/user.js'; test('Enterprise: Database CRUD + queries', async () => { const db = new Database('TestDB', 1, (db) => { diff --git a/Enterprise/test/user.js b/Enterprise/test/user.js index bacdd92..453fbff 100644 --- a/Enterprise/test/user.js +++ b/Enterprise/test/user.js @@ -2,7 +2,6 @@ import test from 'node:test'; import assert from 'node:assert/strict'; import 'fake-indexeddb/auto'; import { Database } from '../static/database.js'; -import { Repository, Service } from '../static/core.js'; import { UserModel, UserRepository, UserService } from '../static/user.js'; test('Enterprise: UserModel validation', async () => { @@ -16,7 +15,36 @@ test('Enterprise: UserModel validation', async () => { assert.strictEqual(user.age, 42); }); -test('Enterprise: UserService, UserRepository', async () => { +test('Enterprise: UserRepository', async () => { + const db = new Database('UserRepositoryTestDB', 1, (db) => { + if (!db.objectStoreNames.contains('user')) { + db.createObjectStore('user', { keyPath: 'id', autoIncrement: true }); + } + }); + await db.connect(); + + const userRepo = new UserRepository(db, 'user'); + + const user1 = new UserModel('Lucius', 17); + await userRepo.insert(user1); + const user2 = new UserModel('Antoninus', 33); + await userRepo.insert(user2); + const user3 = new UserModel('Faustina', 18); + await userRepo.insert(user3); + + const user = await userRepo.get(1); + assert.equal(user.name, 'Lucius'); + + user.age += 1; + await userRepo.update(user); + assert.equal(user.age, 18); + + const users = await userRepo.getAll(); + assert.equal(users.length, 3); + assert.equal(users[1].age, 33); +}); + +test('Enterprise: UserService', async () => { const db = new Database('ServiceTestDB', 1, (db) => { if (!db.objectStoreNames.contains('user')) { db.createObjectStore('user', { keyPath: 'id', autoIncrement: true }); @@ -38,5 +66,8 @@ test('Enterprise: UserService, UserRepository', async () => { const updatedUser = await userService.incrementAge(2); assert.equal(updatedUser.age, 34); - await assert.rejects(() => userService.incrementAge(999), /User with id=1 not found/); + await assert.rejects( + () => userService.incrementAge(999), + /User with id=1 not found/, + ); });