Skip to content

Commit 4a6e62e

Browse files
test: add test for application services
1 parent e4b8f7b commit 4a6e62e

File tree

2 files changed

+90
-0
lines changed

2 files changed

+90
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Copyright (c) 2023. Smart Operating Block
3+
*
4+
* Use of this source code is governed by an MIT-style
5+
* license that can be found in the LICENSE file or at
6+
* https://opensource.org/licenses/MIT.
7+
*/
8+
9+
package application.service
10+
11+
import application.controller.UserController
12+
import application.service.mock.MockDBManager
13+
import entity.user.User
14+
import io.kotest.core.spec.style.StringSpec
15+
import io.kotest.matchers.shouldBe
16+
import io.kotest.matchers.shouldNotBe
17+
18+
class TestApplicationService : StringSpec({
19+
20+
var userController = UserController(MockDBManager())
21+
val mockUser = User("00000001", "User1999!")
22+
23+
beforeEach {
24+
userController = UserController(MockDBManager())
25+
}
26+
27+
"The application service should be able to create a User!" {
28+
userController.createUser(mockUser).also {
29+
it shouldNotBe null
30+
userController.getUser(mockUser.userId) shouldBe mockUser
31+
}
32+
}
33+
34+
"The application service should be able to get a User!" {
35+
userController.createUser(mockUser)
36+
userController.getUser(mockUser.userId).also {
37+
it shouldNotBe null
38+
it shouldBe mockUser
39+
}
40+
}
41+
42+
"The application service should be able to delete a User!" {
43+
userController.createUser(mockUser)
44+
userController.deleteUser(mockUser.userId).also {
45+
it shouldBe true
46+
}
47+
}
48+
})
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
* Copyright (c) 2023. Smart Operating Block
3+
*
4+
* Use of this source code is governed by an MIT-style
5+
* license that can be found in the LICENSE file or at
6+
* https://opensource.org/licenses/MIT.
7+
*/
8+
9+
package application.service.mock
10+
11+
import application.controller.manager.HealthProfessionalDatabaseManager
12+
import application.controller.manager.UserDatabaseManager
13+
import entity.healthprofessional.HealthProfessionalData.HealthProfessional
14+
import entity.user.User
15+
16+
class MockDBManager : UserDatabaseManager, HealthProfessionalDatabaseManager {
17+
18+
private val users = mutableSetOf<User>()
19+
private val healthProfessionals = mutableSetOf<HealthProfessional>()
20+
21+
override fun createHealthProfessional(healthProfessional: HealthProfessional): HealthProfessional? {
22+
healthProfessionals.add(healthProfessional)
23+
return getHealthProfessional(healthProfessional.healthProfessionalId)
24+
}
25+
26+
override fun deleteHealthProfessional(healthProfessionalId: String): Boolean =
27+
healthProfessionals.removeIf { it.healthProfessionalId == healthProfessionalId }
28+
29+
override fun getHealthProfessional(healthProfessionalId: String): HealthProfessional? =
30+
healthProfessionals.find { it.healthProfessionalId == healthProfessionalId }
31+
32+
override fun createUser(user: User): User? {
33+
users.add(user)
34+
return getUser(user.userId)
35+
}
36+
37+
override fun deleteUser(userId: String): Boolean =
38+
users.removeIf { it.userId == userId }
39+
40+
override fun getUser(userId: String): User? =
41+
users.find { it.userId == userId }
42+
}

0 commit comments

Comments
 (0)