From fe2358b1b71f575de386ccfa7092cc34220c70df Mon Sep 17 00:00:00 2001 From: Ranga Ngwerume Date: Thu, 28 Nov 2024 20:00:01 +0200 Subject: [PATCH 1/2] new branch --- test/services/UserService.spec.ts | 47 ++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/test/services/UserService.spec.ts b/test/services/UserService.spec.ts index 8bab9d6..a4e594c 100644 --- a/test/services/UserService.spec.ts +++ b/test/services/UserService.spec.ts @@ -1,3 +1,4 @@ +// test/services/UserService.spec.ts import { expect } from 'chai'; import { UserService } from '../../src/services/UserService'; import { User } from '../../src/models/User'; @@ -21,7 +22,7 @@ describe('UserService', () => { it('should throw error when adding duplicate user', () => { userService.addUser(testUser); - expect(() => userService.addUser(testUser)).to.throw(); + expect(() => userService.addUser(testUser)).to.throw(`User with id ${testUser.id} already exists`); }); }); @@ -29,14 +30,52 @@ describe('UserService', () => { it('should return undefined for non-existent user', () => { expect(userService.getUser(999)).to.be.undefined; }); + + it('should return user when exists', () => { + userService.addUser(testUser); + const user = userService.getUser(testUser.id); + expect(user).to.deep.include(testUser); + }); }); describe('getAllUsers', () => { - it('should return all users', () => { + it('should return empty array when no users exist', () => { + expect(userService.getAllUsers()).to.be.empty; + }); + + it('should return all users when users exist', () => { + const user2 = { id: 2, name: 'Test User 2', email: 'test2@example.com' }; userService.addUser(testUser); + userService.addUser(user2); const users = userService.getAllUsers(); - expect(users).to.have.lengthOf(1); - expect(users[0]).to.deep.include(testUser); + expect(users).to.have.lengthOf(2); + expect(users).to.deep.include(testUser); + expect(users).to.deep.include(user2); + }); + }); + + describe('updateUser', () => { + it('should update existing user', () => { + userService.addUser(testUser); + const updatedUser = { ...testUser, name: 'Updated Name' }; + userService.updateUser(updatedUser); + expect(userService.getUser(testUser.id)).to.deep.include(updatedUser); + }); + + it('should throw error when updating non-existent user', () => { + expect(() => userService.updateUser(testUser)).to.throw(`User with id ${testUser.id} not found`); + }); + }); + + describe('deleteUser', () => { + it('should return true when user deleted successfully', () => { + userService.addUser(testUser); + expect(userService.deleteUser(testUser.id)).to.be.true; + expect(userService.getUser(testUser.id)).to.be.undefined; + }); + + it('should return false when deleting non-existent user', () => { + expect(userService.deleteUser(999)).to.be.false; }); }); }); \ No newline at end of file From 0a7b69945d9adb6014ce5571f9fd17ac48e20adc Mon Sep 17 00:00:00 2001 From: Ranga Ngwerume Date: Thu, 28 Nov 2024 20:13:32 +0200 Subject: [PATCH 2/2] var --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c82e208..19f6f07 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ -# sample-typescript \ No newline at end of file +# sample-typescript +## \ No newline at end of file