Skip to content
This repository has been archived by the owner on Feb 19, 2025. It is now read-only.

Commit

Permalink
fix: missing user in admin tests
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanfallet committed Feb 13, 2024
1 parent 09f8a2a commit ca26097
Show file tree
Hide file tree
Showing 5 changed files with 93 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@ import io.mockk.every
import io.mockk.mockk
import kotlinx.datetime.Clock
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.models.application.SuiteBDEJson
import me.nathanfallet.suitebde.models.associations.Association
import me.nathanfallet.suitebde.models.users.User
import me.nathanfallet.suitebde.plugins.configureI18n
import me.nathanfallet.suitebde.plugins.configureSecurity
import me.nathanfallet.suitebde.plugins.configureSerialization
Expand All @@ -33,6 +35,10 @@ class AssociationsRouterTest {
"associationId", "name", "school", "city",
true, Clock.System.now(), Clock.System.now()
)
private val user = User(
"id", "associationId", "email", null,
"firstname", "lastname", false
)

private fun installApp(application: ApplicationTestBuilder): HttpClient {
application.environment {
Expand All @@ -56,7 +62,7 @@ class AssociationsRouterTest {
fun testGetAllAPIv1() = testApplication {
val client = installApp(this)
val controller = mockk<IAssociationsController>()
val router = AssociationsRouter(controller, mockk(), mockk(), mockk())
val router = AssociationsRouter(controller, mockk(), mockk(), mockk(), mockk())
coEvery { controller.list(any()) } returns listOf(association)
routing {
router.createRoutes(this)
Expand All @@ -70,10 +76,17 @@ class AssociationsRouterTest {
val controller = mockk<IAssociationsController>()
val getLocaleForCallUseCase = mockk<IGetLocaleForCallUseCase>()
val translateUseCase = mockk<ITranslateUseCase>()
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val getAdminMenuForCallUseCase = mockk<IGetAdminMenuForCallUseCase>()
val router =
AssociationsRouter(controller, getLocaleForCallUseCase, translateUseCase, getAdminMenuForCallUseCase)
val router = AssociationsRouter(
controller,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
)
coEvery { controller.list(any()) } returns listOf(association)
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { getAdminMenuForCallUseCase(any()) } returns listOf()
every { getLocaleForCallUseCase(any()) } returns Locale.ENGLISH
every { translateUseCase(any(), any()) } answers { "t:${secondArg<String>()}" }
Expand All @@ -92,11 +105,17 @@ class AssociationsRouterTest {
val controller = mockk<IAssociationsController>()
val getLocaleForCallUseCase = mockk<IGetLocaleForCallUseCase>()
val translateUseCase = mockk<ITranslateUseCase>()
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val getAdminMenuForCallUseCase = mockk<IGetAdminMenuForCallUseCase>()
val router = AssociationsRouter(
controller, getLocaleForCallUseCase, translateUseCase, getAdminMenuForCallUseCase
controller,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
)
coEvery { controller.get(any(), "id") } returns association
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { getAdminMenuForCallUseCase(any()) } returns listOf()
every { getLocaleForCallUseCase(any()) } returns Locale.ENGLISH
every { translateUseCase(any(), any()) } answers { "t:${secondArg<String>()}" }
Expand All @@ -106,7 +125,7 @@ class AssociationsRouterTest {
val response = client.get("/en/admin/associations/id/update")
assertEquals(HttpStatusCode.OK, response.status)
val document = Jsoup.parse(response.bodyAsText())
assertEquals(true, document.getElementById("admin_update")?.`is`("h6"))
assertEquals(true, document.getElementById("admin_update")?.`is`("h2"))
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ import io.mockk.every
import io.mockk.mockk
import kotlinx.datetime.Clock
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.models.application.SuiteBDEJson
import me.nathanfallet.suitebde.models.associations.Association
import me.nathanfallet.suitebde.models.associations.DomainInAssociation
import me.nathanfallet.suitebde.models.users.User
import me.nathanfallet.suitebde.plugins.configureI18n
import me.nathanfallet.suitebde.plugins.configureSecurity
import me.nathanfallet.suitebde.plugins.configureSerialization
Expand All @@ -34,6 +36,10 @@ class DomainsInAssociationsRouterTest {
"associationId", "name", "school", "city",
true, Clock.System.now(), Clock.System.now()
)
private val user = User(
"id", "associationId", "email", null,
"firstname", "lastname", false
)
private val domain = DomainInAssociation("domain", "associationId")

private fun installApp(application: ApplicationTestBuilder): HttpClient {
Expand All @@ -58,9 +64,9 @@ class DomainsInAssociationsRouterTest {
fun testGetAllAPIv1() = testApplication {
val client = installApp(this)
val associationController = mockk<IAssociationsController>()
val associationRouter = AssociationsRouter(associationController, mockk(), mockk(), mockk())
val associationRouter = AssociationsRouter(associationController, mockk(), mockk(), mockk(), mockk())
val controller = mockk<IDomainsInAssociationsController>()
val router = DomainsInAssociationsRouter(controller, mockk(), mockk(), mockk(), associationRouter)
val router = DomainsInAssociationsRouter(controller, mockk(), mockk(), mockk(), mockk(), associationRouter)
coEvery { associationController.get(any(), "id") } returns association
coEvery { controller.list(any(), association) } returns listOf(domain)
routing {
Expand All @@ -73,20 +79,23 @@ class DomainsInAssociationsRouterTest {
fun testGetAllAdmin() = testApplication {
val client = installApp(this)
val associationController = mockk<IAssociationsController>()
val associationRouter = AssociationsRouter(associationController, mockk(), mockk(), mockk())
val associationRouter = AssociationsRouter(associationController, mockk(), mockk(), mockk(), mockk())
val controller = mockk<IDomainsInAssociationsController>()
val getLocaleForCallUseCase = mockk<IGetLocaleForCallUseCase>()
val translateUseCase = mockk<ITranslateUseCase>()
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val getAdminMenuForCallUseCase = mockk<IGetAdminMenuForCallUseCase>()
val router = DomainsInAssociationsRouter(
controller,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
associationRouter
)
coEvery { associationController.get(any(), "id") } returns association
coEvery { controller.list(any(), association) } returns listOf(domain)
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { getAdminMenuForCallUseCase(any()) } returns listOf()
every { getLocaleForCallUseCase(any()) } returns Locale.ENGLISH
every { translateUseCase(any(), any()) } answers { "t:${secondArg<String>()}" }
Expand All @@ -103,19 +112,22 @@ class DomainsInAssociationsRouterTest {
fun testCreateAdmin() = testApplication {
val client = installApp(this)
val associationController = mockk<IAssociationsController>()
val associationRouter = AssociationsRouter(associationController, mockk(), mockk(), mockk())
val associationRouter = AssociationsRouter(associationController, mockk(), mockk(), mockk(), mockk())
val getLocaleForCallUseCase = mockk<IGetLocaleForCallUseCase>()
val translateUseCase = mockk<ITranslateUseCase>()
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val getAdminMenuForCallUseCase = mockk<IGetAdminMenuForCallUseCase>()
val router = DomainsInAssociationsRouter(
mockk(),
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
associationRouter
)
coEvery { associationController.get(any(), "id") } returns association
coEvery { getAdminMenuForCallUseCase(any()) } returns listOf()
coEvery { requireUserForCallUseCase(any()) } returns user
every { getLocaleForCallUseCase(any()) } returns Locale.ENGLISH
every { translateUseCase(any(), any()) } answers { "t:${secondArg<String>()}" }
routing {
Expand All @@ -124,7 +136,7 @@ class DomainsInAssociationsRouterTest {
val response = client.get("/en/admin/associations/id/domains/create")
assertEquals(HttpStatusCode.OK, response.status)
val document = Jsoup.parse(response.bodyAsText())
assertEquals(true, document.getElementById("admin_create")?.`is`("h6"))
assertEquals(true, document.getElementById("admin_create")?.`is`("h2"))
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import io.mockk.every
import io.mockk.mockk
import kotlinx.datetime.Clock
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.associations.AssociationForCallRouter
import me.nathanfallet.suitebde.controllers.associations.AssociationsRouter
import me.nathanfallet.suitebde.controllers.associations.IAssociationsController
Expand Down Expand Up @@ -69,8 +70,9 @@ class UsersRouterTest {
mockk(),
mockk(),
mockk(),
mockk(),
AssociationForCallRouter(mockk(), mockk()),
AssociationsRouter(associationController, mockk(), mockk(), mockk())
AssociationsRouter(associationController, mockk(), mockk(), mockk(), mockk())
)
coEvery { associationController.get(any(), "id") } returns association
coEvery { controller.list(any(), association) } returns listOf(user)
Expand All @@ -87,17 +89,20 @@ class UsersRouterTest {
val controller = mockk<IUsersController>()
val getLocaleForCallUseCase = mockk<IGetLocaleForCallUseCase>()
val translateUseCase = mockk<ITranslateUseCase>()
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val getAdminMenuForCallUseCase = mockk<IGetAdminMenuForCallUseCase>()
val router = UsersRouter(
controller,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
AssociationForCallRouter(requireAssociationForCallUseCase, mockk()),
AssociationsRouter(mockk(), mockk(), mockk(), mockk())
AssociationsRouter(mockk(), mockk(), mockk(), mockk(), mockk())
)
coEvery { requireAssociationForCallUseCase(any()) } returns association
coEvery { controller.list(any(), association) } returns listOf(user)
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { getAdminMenuForCallUseCase(any()) } returns listOf()
every { getLocaleForCallUseCase(any()) } returns Locale.ENGLISH
every { translateUseCase(any(), any()) } answers { "t:${secondArg<String>()}" }
Expand All @@ -117,17 +122,20 @@ class UsersRouterTest {
val controller = mockk<IUsersController>()
val getLocaleForCallUseCase = mockk<IGetLocaleForCallUseCase>()
val translateUseCase = mockk<ITranslateUseCase>()
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val getAdminMenuForCallUseCase = mockk<IGetAdminMenuForCallUseCase>()
val router = UsersRouter(
controller,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
AssociationForCallRouter(requireAssociationForCallUseCase, mockk()),
AssociationsRouter(mockk(), mockk(), mockk(), mockk())
AssociationsRouter(mockk(), mockk(), mockk(), mockk(), mockk())
)
coEvery { requireAssociationForCallUseCase(any()) } returns association
coEvery { controller.get(any(), association, "id") } returns user
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { getAdminMenuForCallUseCase(any()) } returns listOf()
every { getLocaleForCallUseCase(any()) } returns Locale.ENGLISH
every { translateUseCase(any(), any()) } answers { "t:${secondArg<String>()}" }
Expand All @@ -137,7 +145,7 @@ class UsersRouterTest {
val response = client.get("/en/admin/users/id/update")
assertEquals(HttpStatusCode.OK, response.status)
val document = Jsoup.parse(response.bodyAsText())
assertEquals(true, document.getElementById("admin_update")?.`is`("h6"))
assertEquals(true, document.getElementById("admin_update")?.`is`("h2"))
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,13 @@ import io.mockk.every
import io.mockk.mockk
import kotlinx.datetime.Clock
import me.nathanfallet.ktorx.usecases.localization.IGetLocaleForCallUseCase
import me.nathanfallet.ktorx.usecases.users.IRequireUserForCallUseCase
import me.nathanfallet.suitebde.controllers.associations.AssociationForCallRouter
import me.nathanfallet.suitebde.controllers.associations.AssociationsRouter
import me.nathanfallet.suitebde.controllers.associations.IAssociationsController
import me.nathanfallet.suitebde.models.application.SuiteBDEJson
import me.nathanfallet.suitebde.models.associations.Association
import me.nathanfallet.suitebde.models.users.User
import me.nathanfallet.suitebde.models.web.WebMenu
import me.nathanfallet.suitebde.plugins.configureI18n
import me.nathanfallet.suitebde.plugins.configureSecurity
Expand All @@ -37,6 +39,10 @@ class WebMenusRouterTest {
private val association = Association(
"associationId", "name", "school", "city", true, Clock.System.now(), Clock.System.now()
)
private val user = User(
"id", "associationId", "email", null,
"firstname", "lastname", false
)
private val menu = WebMenu(
"id", "associationId", "title", "url", 1
)
Expand Down Expand Up @@ -69,8 +75,9 @@ class WebMenusRouterTest {
mockk(),
mockk(),
mockk(),
mockk(),
AssociationForCallRouter(mockk(), mockk()),
AssociationsRouter(associationController, mockk(), mockk(), mockk())
AssociationsRouter(associationController, mockk(), mockk(), mockk(), mockk())
)
coEvery { associationController.get(any(), "id") } returns association
coEvery { controller.list(any(), association) } returns listOf(menu)
Expand All @@ -87,17 +94,20 @@ class WebMenusRouterTest {
val controller = mockk<IWebMenusController>()
val getLocaleForCallUseCase = mockk<IGetLocaleForCallUseCase>()
val translateUseCase = mockk<ITranslateUseCase>()
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val getAdminMenuForCallUseCase = mockk<IGetAdminMenuForCallUseCase>()
val router = WebMenusRouter(
controller,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
AssociationForCallRouter(requireAssociationForCallUseCase, mockk()),
AssociationsRouter(mockk(), mockk(), mockk(), mockk())
AssociationsRouter(mockk(), mockk(), mockk(), mockk(), mockk())
)
coEvery { requireAssociationForCallUseCase(any()) } returns association
coEvery { controller.list(any(), association) } returns listOf(menu)
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { getAdminMenuForCallUseCase(any()) } returns listOf()
every { getLocaleForCallUseCase(any()) } returns Locale.ENGLISH
every { translateUseCase(any(), any()) } answers { "t:${secondArg<String>()}" }
Expand All @@ -117,17 +127,20 @@ class WebMenusRouterTest {
val controller = mockk<IWebMenusController>()
val getLocaleForCallUseCase = mockk<IGetLocaleForCallUseCase>()
val translateUseCase = mockk<ITranslateUseCase>()
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val getAdminMenuForCallUseCase = mockk<IGetAdminMenuForCallUseCase>()
val router = WebMenusRouter(
controller,
getLocaleForCallUseCase,
translateUseCase,
requireUserForCallUseCase,
getAdminMenuForCallUseCase,
AssociationForCallRouter(requireAssociationForCallUseCase, mockk()),
AssociationsRouter(mockk(), mockk(), mockk(), mockk())
AssociationsRouter(mockk(), mockk(), mockk(), mockk(), mockk())
)
coEvery { requireAssociationForCallUseCase(any()) } returns association
coEvery { controller.get(any(), association, "id") } returns menu
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { getAdminMenuForCallUseCase(any()) } returns listOf()
every { getLocaleForCallUseCase(any()) } returns Locale.ENGLISH
every { translateUseCase(any(), any()) } answers { "t:${secondArg<String>()}" }
Expand All @@ -137,7 +150,7 @@ class WebMenusRouterTest {
val response = client.get("/en/admin/webmenus/id/update")
assertEquals(HttpStatusCode.OK, response.status)
val document = Jsoup.parse(response.bodyAsText())
assertEquals(true, document.getElementById("admin_update")?.`is`("h6"))
assertEquals(true, document.getElementById("admin_update")?.`is`("h2"))
}

}
Loading

0 comments on commit ca26097

Please sign in to comment.