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

Commit

Permalink
fix: tests
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanfallet committed Jul 3, 2024
1 parent bdecf8f commit c0a7053
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 109 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@
<div id="user-dropdown-menu"
class="absolute mt-2 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 p-1 space-y-1"></div>
<#break>
<#case "markdown">
<textarea
class="w-full rounded border-[1.5px] border-stroke bg-transparent py-3 px-5 font-medium outline-none transition focus:border-primary active:border-primary disabled:cursor-default disabled:bg-whiter dark:border-form-strokedark dark:bg-form-input dark:focus:border-primary"
name="${key.key}" id="${key.key}"
<#if !key.editable>disabled</#if>>
<#if item?? && item[key.key]??>${item[key.key]}</#if>
</textarea>
<#break>
<#default>
<input type="text"
class="w-full rounded border-[1.5px] border-stroke bg-transparent py-3 px-5 font-medium outline-none transition focus:border-primary active:border-primary disabled:cursor-default disabled:bg-whiter dark:border-form-strokedark dark:bg-form-input dark:focus:border-primary"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import com.suitebde.models.users.User
import com.suitebde.models.web.WebPage
import com.suitebde.models.web.WebPagePayload
import com.suitebde.usecases.web.IGetWebPageByUrlUseCase
import com.suitebde.usecases.web.IRenderMarkdownUseCase
import dev.kaccelero.commons.exceptions.ControllerException
import dev.kaccelero.commons.permissions.ICheckPermissionSuspendUseCase
import dev.kaccelero.commons.repositories.*
Expand Down Expand Up @@ -44,7 +45,7 @@ class WebPagesControllerTest {
val getWebPagesUseCase = mockk<IListSliceChildModelSuspendUseCase<WebPage, UUID>>()
val controller = WebPagesController(
mockk(), mockk(), mockk(), getWebPagesUseCase, mockk(),
mockk(), mockk(), mockk(), mockk()
mockk(), mockk(), mockk(), mockk(), mockk()
)
val call = mockk<ApplicationCall>()
coEvery { getWebPagesUseCase(Pagination(10, 5), page.associationId) } returns listOf(page)
Expand All @@ -57,7 +58,7 @@ class WebPagesControllerTest {
val getWebPagesUseCase = mockk<IListSliceChildModelSuspendUseCase<WebPage, UUID>>()
val controller = WebPagesController(
mockk(), mockk(), mockk(), getWebPagesUseCase, mockk(),
mockk(), mockk(), mockk(), mockk()
mockk(), mockk(), mockk(), mockk(), mockk()
)
val call = mockk<ApplicationCall>()
coEvery { getWebPagesUseCase(Pagination(25, 0), page.associationId) } returns listOf(page)
Expand All @@ -70,7 +71,7 @@ class WebPagesControllerTest {
val getWebPagesUseCase = mockk<IListChildModelSuspendUseCase<WebPage, UUID>>()
val controller = WebPagesController(
mockk(), mockk(), getWebPagesUseCase, mockk(), mockk(),
mockk(), mockk(), mockk(), mockk()
mockk(), mockk(), mockk(), mockk(), mockk()
)
val call = mockk<ApplicationCall>()
coEvery { getWebPagesUseCase(page.associationId) } returns listOf(page)
Expand All @@ -83,7 +84,7 @@ class WebPagesControllerTest {
val getWebPageUseCase = mockk<IGetChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val controller = WebPagesController(
mockk(), mockk(), mockk(), mockk(), mockk(),
getWebPageUseCase, mockk(), mockk(), mockk()
getWebPageUseCase, mockk(), mockk(), mockk(), mockk()
)
coEvery { getWebPageUseCase(page.id, page.associationId) } returns page
assertEquals(page, controller.get(mockk(), association, page.id))
Expand All @@ -94,7 +95,7 @@ class WebPagesControllerTest {
val getWebPageUseCase = mockk<IGetChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val controller = WebPagesController(
mockk(), mockk(), mockk(), mockk(), mockk(),
getWebPageUseCase, mockk(), mockk(), mockk()
getWebPageUseCase, mockk(), mockk(), mockk(), mockk()
)
coEvery { getWebPageUseCase(page.id, page.associationId) } returns null
val exception = assertFailsWith(ControllerException::class) {
Expand All @@ -107,20 +108,25 @@ class WebPagesControllerTest {
@Test
fun testGetByUrl() = runBlocking {
val getWebPageByUrlUseCase = mockk<IGetWebPageByUrlUseCase>()
val renderMarkdownUseCase = mockk<IRenderMarkdownUseCase>()
val controller = WebPagesController(
mockk(), mockk(), mockk(), mockk(), getWebPageByUrlUseCase,
mockk(), mockk(), mockk(), mockk()
mockk(), mockk(), mockk(), mockk(), renderMarkdownUseCase
)
coEvery { getWebPageByUrlUseCase(page.url, page.associationId) } returns page
assertEquals(page, controller.getByUrl(mockk(), association, page.url))
every { renderMarkdownUseCase(page.content) } returns "markdown"
assertEquals(
mapOf("item" to page, "content" to "markdown"),
controller.getByUrl(mockk(), association, page.url)
)
}

@Test
fun testGetByUrlNotFound() = runBlocking {
val getWebPageByUrlUseCase = mockk<IGetWebPageByUrlUseCase>()
val controller = WebPagesController(
mockk(), mockk(), mockk(), mockk(), getWebPageByUrlUseCase,
mockk(), mockk(), mockk(), mockk()
mockk(), mockk(), mockk(), mockk(), mockk()
)
coEvery { getWebPageByUrlUseCase(page.url, page.associationId) } returns null
val exception = assertFailsWith(ControllerException::class) {
Expand All @@ -137,15 +143,8 @@ class WebPagesControllerTest {
val createWebPageUseCase =
mockk<ICreateChildModelSuspendUseCase<WebPage, WebPagePayload, UUID>>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
mockk(),
createWebPageUseCase,
mockk(),
mockk()
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(), mockk(),
createWebPageUseCase, mockk(), mockk(), mockk()
)
val payload = WebPagePayload("url", "title", "content", true)
coEvery { requireUserForCallUseCase(any()) } returns user
Expand All @@ -159,15 +158,8 @@ class WebPagesControllerTest {
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val checkPermissionUseCase = mockk<ICheckPermissionSuspendUseCase>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
mockk(),
mockk(),
mockk(),
mockk()
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(), mockk(),
mockk(), mockk(), mockk(), mockk()
)
val payload = WebPagePayload("url", "title", "content", true)
coEvery { requireUserForCallUseCase(any()) } returns user
Expand All @@ -186,15 +178,8 @@ class WebPagesControllerTest {
val createWebPageUseCase =
mockk<ICreateChildModelSuspendUseCase<WebPage, WebPagePayload, UUID>>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
mockk(),
createWebPageUseCase,
mockk(),
mockk()
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(), mockk(),
createWebPageUseCase, mockk(), mockk(), mockk()
)
val payload = WebPagePayload("url", "title", "content", true)
coEvery { requireUserForCallUseCase(any()) } returns user
Expand All @@ -214,15 +199,8 @@ class WebPagesControllerTest {
val getWebPageUseCase = mockk<IGetChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val updateWebPageUseCase = mockk<IUpdateChildModelSuspendUseCase<WebPage, UUID, WebPagePayload, UUID>>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
getWebPageUseCase,
mockk(),
updateWebPageUseCase,
mockk()
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(),
getWebPageUseCase, mockk(), updateWebPageUseCase, mockk(), mockk()
)
val payload = WebPagePayload("url", "title2", "content2", true)
val updatedPage = page.copy(
Expand All @@ -244,15 +222,8 @@ class WebPagesControllerTest {
val getWebPageUseCase = mockk<IGetChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val updateWebPageUseCase = mockk<IUpdateChildModelSuspendUseCase<WebPage, UUID, WebPagePayload, UUID>>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
getWebPageUseCase,
mockk(),
updateWebPageUseCase,
mockk()
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(),
getWebPageUseCase, mockk(), updateWebPageUseCase, mockk(), mockk()
)
val payload = WebPagePayload("url", "title2", "content2", true)
coEvery { requireUserForCallUseCase(any()) } returns user
Expand All @@ -272,15 +243,8 @@ class WebPagesControllerTest {
val checkPermissionUseCase = mockk<ICheckPermissionSuspendUseCase>()
val getWebPageUseCase = mockk<IGetChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
getWebPageUseCase,
mockk(),
mockk(),
mockk()
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(),
getWebPageUseCase, mockk(), mockk(), mockk(), mockk()
)
val payload = WebPagePayload("url", "title2", "content2", true)
coEvery { requireUserForCallUseCase(any()) } returns user
Expand All @@ -298,15 +262,8 @@ class WebPagesControllerTest {
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val checkPermissionUseCase = mockk<ICheckPermissionSuspendUseCase>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
mockk(),
mockk(),
mockk(),
mockk()
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(),
mockk(), mockk(), mockk(), mockk(), mockk(), mockk()
)
val payload = WebPagePayload("url", "title2", "content2", true)
coEvery { requireUserForCallUseCase(any()) } returns user
Expand All @@ -325,15 +282,8 @@ class WebPagesControllerTest {
val getWebPageUseCase = mockk<IGetChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val deleteWebPageUseCase = mockk<IDeleteChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
getWebPageUseCase,
mockk(),
mockk(),
deleteWebPageUseCase
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(),
getWebPageUseCase, mockk(), mockk(), deleteWebPageUseCase, mockk()
)
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { checkPermissionUseCase(user, Permission.WEBPAGES_DELETE inAssociation association.id) } returns true
Expand All @@ -352,15 +302,8 @@ class WebPagesControllerTest {
val getWebPageUseCase = mockk<IGetChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val deleteWebPageUseCase = mockk<IDeleteChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
getWebPageUseCase,
mockk(),
mockk(),
deleteWebPageUseCase
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(),
getWebPageUseCase, mockk(), mockk(), deleteWebPageUseCase, mockk()
)
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { checkPermissionUseCase(user, Permission.WEBPAGES_DELETE inAssociation association.id) } returns true
Expand All @@ -379,15 +322,8 @@ class WebPagesControllerTest {
val checkPermissionUseCase = mockk<ICheckPermissionSuspendUseCase>()
val getWebPageUseCase = mockk<IGetChildModelSuspendUseCase<WebPage, UUID, UUID>>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
getWebPageUseCase,
mockk(),
mockk(),
mockk()
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(),
getWebPageUseCase, mockk(), mockk(), mockk(), mockk()
)
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { checkPermissionUseCase(user, Permission.WEBPAGES_DELETE inAssociation association.id) } returns true
Expand All @@ -404,15 +340,8 @@ class WebPagesControllerTest {
val requireUserForCallUseCase = mockk<IRequireUserForCallUseCase>()
val checkPermissionUseCase = mockk<ICheckPermissionSuspendUseCase>()
val controller = WebPagesController(
requireUserForCallUseCase,
checkPermissionUseCase,
mockk(),
mockk(),
mockk(),
mockk(),
mockk(),
mockk(),
mockk()
requireUserForCallUseCase, checkPermissionUseCase, mockk(), mockk(), mockk(), mockk(),
mockk(), mockk(), mockk(), mockk()
)
coEvery { requireUserForCallUseCase(any()) } returns user
coEvery { checkPermissionUseCase(user, Permission.WEBPAGES_DELETE inAssociation association.id) } returns false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,9 @@ class WebPagesRouterTest {
)
coEvery { requireAssociationForCallUseCase(any()) } returns association
coEvery { getUserForCallUseCase(any()) } returns user
coEvery { controller.getByUrl(any(), association, page.url) } returns page
coEvery { controller.getByUrl(any(), association, page.url) } returns mapOf(
"item" to page, "content" to "markdown"
)
coEvery { getPublicMenuForCallUseCase(any()) } returns listOf()
every { getLocaleForCallUseCase(any()) } returns Locale.ENGLISH
every { translateUseCase(any(), any()) } answers { "t:${secondArg<String>()}" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ data class WebPagePayload(
@PayloadProperty("string")
@Schema("Title of the page", "Accueil")
val title: String,
@PayloadProperty("string")
@PayloadProperty("markdown")
@Schema("Content of the page", "...")
val content: String,
@PayloadProperty("boolean")
Expand Down

0 comments on commit c0a7053

Please sign in to comment.