test: add missing board detail repository edge coverage
This commit is contained in:
@@ -47,6 +47,26 @@ class BoardDetailRepositoryTest {
|
|||||||
assertEquals("board-1", apiClient.lastBoardId)
|
assertEquals("board-1", apiClient.lastBoardId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun getBoardDetailReusesPersistedWorkspaceAfterFirstFetch() = runTest {
|
||||||
|
val apiClient = FakeBoardDetailApiClient().apply {
|
||||||
|
workspacesResult = BoardsApiResult.Success(listOf(WorkspaceSummary("ws-1", "Main")))
|
||||||
|
boardDetailResult = BoardsApiResult.Success(sampleBoardDetail())
|
||||||
|
}
|
||||||
|
val sessionStore = InMemorySessionStore(baseUrl = "https://kan.bn/")
|
||||||
|
val repository = createRepository(sessionStore = sessionStore, apiClient = apiClient)
|
||||||
|
|
||||||
|
val firstResult = repository.getBoardDetail("board-1")
|
||||||
|
apiClient.workspacesResult = BoardsApiResult.Failure("Should not be called")
|
||||||
|
val secondResult = repository.getBoardDetail("board-2")
|
||||||
|
|
||||||
|
assertTrue(firstResult is BoardsApiResult.Success<*>)
|
||||||
|
assertTrue(secondResult is BoardsApiResult.Success<*>)
|
||||||
|
assertEquals("ws-1", sessionStore.getWorkspaceId())
|
||||||
|
assertEquals(1, apiClient.listWorkspacesCalls)
|
||||||
|
assertEquals("board-2", apiClient.lastBoardId)
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun getBoardDetailFailsWhenNoWorkspacesAvailable() = runTest {
|
fun getBoardDetailFailsWhenNoWorkspacesAvailable() = runTest {
|
||||||
val apiClient = FakeBoardDetailApiClient().apply {
|
val apiClient = FakeBoardDetailApiClient().apply {
|
||||||
@@ -271,6 +291,23 @@ class BoardDetailRepositoryTest {
|
|||||||
assertEquals(listOf("card-2", "card-1"), apiClient.deletedCardIds)
|
assertEquals(listOf("card-2", "card-1"), apiClient.deletedCardIds)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun deleteCardsReturnsUnknownErrorWhenAllFailAndFirstMessageIsBlank() = runTest {
|
||||||
|
val apiClient = FakeBoardDetailApiClient().apply {
|
||||||
|
deleteOutcomes = mapOf(
|
||||||
|
"card-2" to BoardsApiResult.Failure(" "),
|
||||||
|
"card-1" to BoardsApiResult.Failure("Delete failed second"),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
val repository = createRepository(apiClient = apiClient)
|
||||||
|
|
||||||
|
val result = repository.deleteCards(cardIds = listOf(" card-2 ", "card-1", "card-2"))
|
||||||
|
|
||||||
|
assertTrue(result is CardBatchMutationResult.Failure)
|
||||||
|
assertEquals("Unknown error", (result as CardBatchMutationResult.Failure).message)
|
||||||
|
assertEquals(listOf("card-2", "card-1"), apiClient.deletedCardIds)
|
||||||
|
}
|
||||||
|
|
||||||
private fun createRepository(
|
private fun createRepository(
|
||||||
sessionStore: InMemorySessionStore = InMemorySessionStore(baseUrl = "https://kan.bn/", workspaceId = "ws-1"),
|
sessionStore: InMemorySessionStore = InMemorySessionStore(baseUrl = "https://kan.bn/", workspaceId = "ws-1"),
|
||||||
apiClient: FakeBoardDetailApiClient = FakeBoardDetailApiClient(),
|
apiClient: FakeBoardDetailApiClient = FakeBoardDetailApiClient(),
|
||||||
|
|||||||
Reference in New Issue
Block a user