Skip to content

Commit 782b41f

Browse files
committed
ui: add some basic unit tests
1 parent 04834d2 commit 782b41f

File tree

4 files changed

+101
-17
lines changed

4 files changed

+101
-17
lines changed

app/src/test/java/org/mrlem/composesample/ExampleUnitTest.kt

Lines changed: 0 additions & 17 deletions
This file was deleted.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package org.mrlem.composesample.features.library.ui.detail
2+
3+
import org.junit.Assert.assertEquals
4+
import org.junit.Test
5+
import org.mrlem.composesample.features.library.domain.model.Bookmark
6+
7+
class DetailViewStateConverterTest {
8+
9+
private val converter = DetailViewStateConverter()
10+
11+
@Test
12+
fun `test conversion from bookmark to view state`() {
13+
// Given
14+
val bookmark = Bookmark(
15+
id = 42,
16+
name = "Test Bookmark",
17+
description = "This is a test bookmark.",
18+
image = "https://example.com/image.jpg",
19+
)
20+
21+
// When
22+
val viewState = converter.toViewState(bookmark)
23+
24+
// Then
25+
assertEquals("Test Bookmark", viewState.name)
26+
assertEquals("This is a test bookmark.", viewState.description)
27+
assertEquals("https://example.com/image.jpg", viewState.image)
28+
}
29+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package org.mrlem.composesample.features.library.ui.list
2+
3+
import org.junit.Assert.assertEquals
4+
import org.junit.Test
5+
import org.mrlem.composesample.features.library.domain.model.BookmarkItem
6+
7+
class ListViewStateConverterTest {
8+
9+
private val converter = ListViewStateConverter()
10+
11+
@Test
12+
fun `test conversion from bookmark items to view state`() {
13+
// Given
14+
val filter = "test filter"
15+
val items = listOf(
16+
BookmarkItem(id = 1, name = "Item 1"),
17+
BookmarkItem(id = 2, name = "Item 2"),
18+
)
19+
20+
// When
21+
val viewState = converter.toViewState(filter, items)
22+
23+
// Then
24+
assertEquals("test filter", viewState.filter)
25+
assertEquals(2, viewState.items.size)
26+
assertEquals("Item 1", viewState.items[0].label)
27+
assertEquals(ListViewAction.ItemClick(1), viewState.items[0].onClickAction)
28+
assertEquals("Item 2", viewState.items[1].label)
29+
assertEquals(ListViewAction.ItemClick(2), viewState.items[1].onClickAction)
30+
}
31+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.mrlem.composesample.features.overview.ui
2+
3+
import org.junit.Assert.assertEquals
4+
import org.junit.Assert.assertNull
5+
import org.junit.Test
6+
import org.mrlem.composesample.features.library.domain.model.Bookmark
7+
8+
class OverviewViewStateConverterTest {
9+
10+
private val converter = OverviewViewStateConverter()
11+
12+
@Test
13+
fun `test conversion when bookmark is not null`() {
14+
// Given
15+
val bookmark = Bookmark(
16+
id = 123,
17+
name = "Android",
18+
description = "Android OS",
19+
image = "image.url",
20+
)
21+
22+
// When
23+
val viewState = converter.toViewState(bookmark)
24+
25+
// Then
26+
assertEquals("Android", viewState.suggestionName)
27+
assertEquals("image.url", viewState.suggestionImage)
28+
assertEquals(123L, viewState.suggestionId)
29+
}
30+
31+
@Test
32+
fun `test conversion when bookmark is null`() {
33+
// When
34+
val viewState = converter.toViewState(null)
35+
36+
// Then
37+
assertNull(viewState.suggestionName)
38+
assertNull(viewState.suggestionImage)
39+
assertNull(viewState.suggestionId)
40+
}
41+
}

0 commit comments

Comments
 (0)