Skip to content

Commit 4bf66e9

Browse files
committed
Fix tests (wip)
1 parent fc2dad3 commit 4bf66e9

File tree

7 files changed

+106
-229
lines changed

7 files changed

+106
-229
lines changed

app/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ dependencies {
8585
implementation(libs.androidx.fragment)
8686
implementation(libs.androidx.sqlite)
8787
implementation(libs.androidx.sqlite.framework)
88+
testImplementation(libs.androidx.sqlite.bundled)
8889
debugImplementation(libs.androidx.fragment.testing)
8990
implementation(libs.androidx.work)
9091
androidTestImplementation(libs.androidx.work.testing)

app/src/test/kotlin/db/ConfQueriesTest.kt

Lines changed: 0 additions & 32 deletions
This file was deleted.

app/src/test/kotlin/db/EntryQueriesTest.kt

Lines changed: 74 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -19,36 +19,7 @@ class EntryQueriesTest {
1919
fun insertOrReplace() {
2020
val item = entry()
2121
db.entryQueries.insertOrReplace(item)
22-
assertEquals(item, db.entryQueries.selectById(item.id).executeAsOne())
23-
}
24-
25-
@Test
26-
fun selectAll() {
27-
val items = listOf(entry(), entry())
28-
items.forEach { db.entryQueries.insertOrReplace(it) }
29-
30-
assertEquals(
31-
items.reversed(),
32-
db.entryQueries.selectAll().executeAsList()
33-
)
34-
}
35-
36-
@Test
37-
fun selectByIds() {
38-
val items = listOf(
39-
db.entryQueries.insertOrReplace(),
40-
db.entryQueries.insertOrReplace(),
41-
db.entryQueries.insertOrReplace(),
42-
)
43-
44-
db.entryQueries.deleteById(items[1].id)
45-
46-
repeat(10) { db.entryQueries.insertOrReplace() }
47-
48-
assertEquals(
49-
listOf(items[0].id, items[2].id).sorted(),
50-
db.entryQueries.selectByIds(items.map { it.id }).executeAsList().sorted(),
51-
)
22+
assertEquals(item, db.entryQueries.selectById(item.id))
5223
}
5324

5425
@Test
@@ -61,114 +32,52 @@ class EntryQueriesTest {
6132

6233
assertEquals(
6334
items[1],
64-
db.entryQueries.selectById(items[1].id).executeAsOneOrNull(),
35+
db.entryQueries.selectById(items[1].id),
6536
)
6637
}
6738

6839
@Test
6940
fun selectByReadAndBookmarked() {
7041
val feed = db.insertRandomFeed()
71-
72-
val all = listOf(
73-
entry().copy(feed_id = feed.id, ext_read = true, ext_bookmarked = true),
74-
entry().copy(feed_id = feed.id, ext_read = true, ext_bookmarked = false),
75-
entry().copy(feed_id = feed.id, ext_read = false, ext_bookmarked = false),
76-
)
77-
78-
all.forEach { db.entryQueries.insertOrReplace(it) }
7942

80-
assertEquals(
81-
all.filter { !it.ext_read && !it.ext_bookmarked }.map { it.id },
82-
db.entryQueries.selectByReadAndBookmarked(ext_read = listOf(false), ext_bookmarked = false).executeAsList().map { it.id },
83-
)
84-
}
85-
86-
@Test
87-
fun selectByReadSynced() {
8843
val all = listOf(
89-
entry().copy(ext_read_synced = true),
90-
entry().copy(ext_read_synced = false),
91-
entry().copy(ext_read_synced = true),
44+
entry().copy(feedId = feed.id, extRead = true, extBookmarked = true),
45+
entry().copy(feedId = feed.id, extRead = true, extBookmarked = false),
46+
entry().copy(feedId = feed.id, extRead = false, extBookmarked = false),
9247
)
9348

9449
all.forEach { db.entryQueries.insertOrReplace(it) }
9550

9651
assertEquals(
97-
all.filter { it.ext_read_synced }.map { it.withoutContent() }.sortedByDescending { it.published },
98-
db.entryQueries.selectByReadSynced(true).executeAsList(),
99-
)
100-
101-
assertEquals(
102-
all.filter { !it.ext_read_synced }.map { it.withoutContent() }.sortedByDescending { it.published },
103-
db.entryQueries.selectByReadSynced(false).executeAsList(),
52+
all.filter { !it.extRead && !it.extBookmarked }.map { it.id },
53+
db.entryQueries.selectByReadAndBookmarked(
54+
extRead = listOf(false),
55+
extBookmarked = false
56+
).map { it.id },
10457
)
10558
}
10659

10760
@Test
108-
fun selectByBookmarked() {
61+
fun selectByReadSynced() {
10962
val all = listOf(
110-
entry().copy(ext_bookmarked = true),
111-
entry().copy(ext_bookmarked = false),
112-
entry().copy(ext_bookmarked = false),
63+
entry().copy(extReadSynced = true),
64+
entry().copy(extReadSynced = false),
65+
entry().copy(extReadSynced = true),
11366
)
11467

11568
all.forEach { db.entryQueries.insertOrReplace(it) }
11669

11770
assertEquals(
118-
all.filter { it.ext_bookmarked }.map { it.withoutContent() }.sortedByDescending { it.published },
119-
db.entryQueries.selectByBookmarked(true).executeAsList(),
71+
all.filter { it.extReadSynced }.map { it.withoutContent() }
72+
.sortedByDescending { it.published },
73+
db.entryQueries.selectByReadSynced(true),
12074
)
12175

12276
assertEquals(
123-
all.filter { !it.ext_bookmarked }.map { it.withoutContent() }.sortedByDescending { it.published },
124-
db.entryQueries.selectByBookmarked(false).executeAsList(),
125-
)
126-
}
127-
128-
@Test
129-
fun updateReadByFeedId() {
130-
val feedId = UUID.randomUUID().toString()
131-
132-
val all = listOf(
133-
entry().copy(feed_id = feedId, ext_read = true),
134-
entry().copy(ext_read = true),
135-
entry().copy(feed_id = feedId, ext_read = false),
136-
entry().copy(ext_read = false),
77+
all.filter { !it.extReadSynced }.map { it.withoutContent() }
78+
.sortedByDescending { it.published },
79+
db.entryQueries.selectByReadSynced(false),
13780
)
138-
139-
db.apply {
140-
all.forEach { entryQueries.insertOrReplace(it) }
141-
142-
entryQueries.updateReadByFeedId(read = true, feedId = feedId)
143-
144-
entryQueries.selectAll().executeAsList().apply {
145-
assertEquals(1, filter { !it.ext_read_synced }.size)
146-
assertEquals(2, filter { it.feed_id == feedId && it.ext_read }.size)
147-
}
148-
}
149-
}
150-
151-
@Test
152-
fun updateReadByBookmarked() {
153-
val bookmarked = true
154-
155-
val all = listOf(
156-
entry().copy(ext_bookmarked = true, ext_read = true),
157-
entry().copy(ext_read = true),
158-
entry().copy(ext_bookmarked = true, ext_read = false),
159-
entry().copy(ext_read = false),
160-
)
161-
162-
db.apply {
163-
all.forEach { entryQueries.insertOrReplace(it) }
164-
165-
entryQueries.updateReadByBookmarked(read = true, bookmarked = bookmarked)
166-
167-
entryQueries.selectAll().executeAsList().apply {
168-
assertEquals(1, filterNot { it.ext_read_synced }.size)
169-
assertEquals(2, filter { it.ext_bookmarked && it.ext_read }.size)
170-
}
171-
}
17281
}
17382
}
17483

@@ -179,93 +88,93 @@ fun EntryQueries.insertOrReplace(): Entry {
17988
}
18089

18190
fun entry() = Entry(
182-
content_type = "",
183-
content_src = "",
184-
content_text = "",
91+
contentType = "",
92+
contentSrc = "",
93+
contentText = "",
18594
links = emptyList(),
18695
summary = "",
18796
id = UUID.randomUUID().toString(),
188-
feed_id = "",
97+
feedId = "",
18998
title = "",
19099
published = OffsetDateTime.now(),
191100
updated = OffsetDateTime.now(),
192-
author_name = "",
193-
ext_read = false,
194-
ext_read_synced = true,
195-
ext_bookmarked = false,
196-
ext_bookmarked_synced = true,
197-
ext_nc_guid_hash = "",
198-
ext_comments_url = "",
199-
ext_og_image_checked = true,
200-
ext_og_image_url = "",
201-
ext_og_image_width = 0,
202-
ext_og_image_height = 0,
101+
authorName = "",
102+
extRead = false,
103+
extReadSynced = true,
104+
extBookmarked = false,
105+
extBookmarkedSynced = true,
106+
extNextcloudGuidHash = "",
107+
extCommentsUrl = "",
108+
extOpenGraphImageChecked = true,
109+
extOpenGraphImageUrl = "",
110+
extOpenGraphImageWidth = 0,
111+
extOpenGraphImageHeight = 0,
203112
)
204113

205114
fun entryWithoutContent() = EntryWithoutContent(
206115
links = emptyList(),
207116
summary = "",
208117
id = UUID.randomUUID().toString(),
209-
feed_id = "",
118+
feedId = "",
210119
title = "",
211120
published = OffsetDateTime.now(),
212121
updated = OffsetDateTime.now(),
213-
author_name = "",
214-
ext_read = false,
215-
ext_read_synced = true,
216-
ext_bookmarked = false,
217-
ext_bookmarked_synced = true,
218-
ext_nc_guid_hash = "",
219-
ext_comments_url = "",
220-
ext_og_image_checked = true,
221-
ext_og_image_url = "",
222-
ext_og_image_width = 0,
223-
ext_og_image_height = 0,
122+
authorName = "",
123+
extRead = false,
124+
extReadSynced = true,
125+
extBookmarked = false,
126+
extBookmarkedSynced = true,
127+
extNextcloudGuidHash = "",
128+
extCommentsUrl = "",
129+
extOpenGraphImageChecked = true,
130+
extOpenGraphImageUrl = "",
131+
extOpenGraphImageWidth = 0,
132+
extOpenGraphImageHeight = 0,
224133
)
225134

226135
fun Entry.withoutContent() = EntryWithoutContent(
227136
links = links,
228137
summary = "",
229138
id = id,
230-
feed_id = feed_id,
139+
feedId = feedId,
231140
title = title,
232141
published = published,
233142
updated = updated,
234-
author_name = author_name,
235-
ext_read = ext_read,
236-
ext_read_synced = ext_read_synced,
237-
ext_bookmarked = ext_bookmarked,
238-
ext_bookmarked_synced = ext_bookmarked_synced,
239-
ext_nc_guid_hash = ext_nc_guid_hash,
240-
ext_comments_url = ext_comments_url,
241-
ext_og_image_checked = true,
242-
ext_og_image_url = "",
243-
ext_og_image_width = 0,
244-
ext_og_image_height = 0,
143+
authorName = authorName,
144+
extRead = extRead,
145+
extReadSynced = extReadSynced,
146+
extBookmarked = extBookmarked,
147+
extBookmarkedSynced = extBookmarkedSynced,
148+
extNextcloudGuidHash = extNextcloudGuidHash,
149+
extCommentsUrl = extCommentsUrl,
150+
extOpenGraphImageChecked = true,
151+
extOpenGraphImageUrl = "",
152+
extOpenGraphImageWidth = 0,
153+
extOpenGraphImageHeight = 0,
245154
)
246155

247156
fun EntryWithoutContent.toEntry(): Entry {
248157
return Entry(
249-
content_type = "",
250-
content_src = "",
251-
content_text = "",
158+
contentType = "",
159+
contentSrc = "",
160+
contentText = "",
252161
links = links,
253162
summary = summary,
254163
id = id,
255-
feed_id = feed_id,
164+
feedId = feedId,
256165
title = title,
257166
published = published,
258167
updated = updated,
259-
author_name = author_name,
260-
ext_read = ext_read,
261-
ext_read_synced = ext_read_synced,
262-
ext_bookmarked = ext_bookmarked,
263-
ext_bookmarked_synced = ext_bookmarked_synced,
264-
ext_nc_guid_hash = ext_nc_guid_hash,
265-
ext_comments_url = ext_comments_url,
266-
ext_og_image_checked = ext_og_image_checked,
267-
ext_og_image_url = ext_og_image_url,
268-
ext_og_image_width = ext_og_image_width,
269-
ext_og_image_height = ext_og_image_height,
168+
authorName = authorName,
169+
extRead = extRead,
170+
extReadSynced = extReadSynced,
171+
extBookmarked = extBookmarked,
172+
extBookmarkedSynced = extBookmarkedSynced,
173+
extNextcloudGuidHash = extNextcloudGuidHash,
174+
extCommentsUrl = extCommentsUrl,
175+
extOpenGraphImageChecked = extOpenGraphImageChecked,
176+
extOpenGraphImageUrl = extOpenGraphImageUrl,
177+
extOpenGraphImageWidth = extOpenGraphImageWidth,
178+
extOpenGraphImageHeight = extOpenGraphImageHeight,
270179
)
271180
}

0 commit comments

Comments
 (0)