1
0
mirror of https://github.com/wulkanowy/wulkanowy.git synced 2024-09-20 03:49:09 -05:00

Merge branch 'hotfix/1.8.3'

This commit is contained in:
Mikołaj Pich 2022-12-21 13:29:38 +01:00
commit da0943b319
5 changed files with 38 additions and 8 deletions

View File

@ -23,8 +23,8 @@ android {
testApplicationId "io.github.tests.wulkanowy"
minSdkVersion 21
targetSdkVersion 32
versionCode 117
versionName "1.8.2"
versionCode 118
versionName "1.8.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
resValue "string", "app_name", "Wulkanowy"
@ -186,7 +186,7 @@ ext {
}
dependencies {
implementation "io.github.wulkanowy:sdk:1.8.2"
implementation "io.github.wulkanowy:sdk:1.8.3"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.8'

View File

@ -2,6 +2,7 @@ package io.github.wulkanowy.data.mappers
import io.github.wulkanowy.data.db.entities.*
import io.github.wulkanowy.sdk.pojo.MailboxType
import timber.log.Timber
import io.github.wulkanowy.sdk.pojo.Message as SdkMessage
import io.github.wulkanowy.sdk.pojo.MessageAttachment as SdkMessageAttachment
import io.github.wulkanowy.sdk.pojo.Recipient as SdkRecipient
@ -16,7 +17,10 @@ fun List<SdkMessage>.mapToEntities(
mailboxKey = mailbox?.globalKey ?: allMailboxes.find { box ->
box.fullName == it.mailbox
}?.globalKey.let { mailboxKey ->
requireNotNull(mailboxKey) { "Can't find ${it.mailbox} in $allMailboxes" }
if (mailboxKey == null) {
Timber.e("Can't find ${it.mailbox} in $allMailboxes")
"unknown"
} else mailboxKey
},
email = student.email,
messageId = it.id,

View File

@ -17,8 +17,11 @@ class GetMailboxByStudentUseCase @Inject constructor(
private fun List<Mailbox>.filterByStudent(student: Student): Mailbox? {
val normalizedStudentName = student.studentName.normalizeStudentName()
return find {
return singleOrNull {
it.studentName.normalizeStudentName() == normalizedStudentName
} ?: singleOrNull {
it.studentName.normalizeStudentName() == normalizedStudentName
&& it.schoolNameShort == student.schoolShortName
} ?: singleOrNull {
it.studentName.getFirstAndLastPart() == normalizedStudentName.getFirstAndLastPart()
} ?: singleOrNull {

View File

@ -1,7 +1,8 @@
Wersja 1.8.2
Wersja 1.8.3
- naprawiliśmy logowanie dla użytkowników systemu Resman Rzeszów
- dodaliśmy wsparcie dla nowej platformy z Tomaszowa Mazowieckiego
- poprawiliśmy dopasowywanie skrzynek pocztowych do uczniów
- naprawiliśmy literówkę w tytule wiadomości z szablonem usprawiedliwienia
Pełna lista zmian: https://github.com/wulkanowy/wulkanowy/releases

View File

@ -160,8 +160,29 @@ class GetMailboxByStudentUseCaseTest {
assertEquals(expectedMailbox, systemUnderTest(student))
}
@Test
fun `get mailbox for student with mailboxes from two different schools`() = runTest {
val student = getStudentEntity(
userName = "Kamil Bednarek",
studentName = "Kamil Bednarek",
schoolShortName = "CKZiU",
)
val mailbox1 = getMailboxEntity(
studentName = "Kamil Bednarek",
schoolShortName = "ZSTiO",
)
val mailbox2 = getMailboxEntity(
studentName = "Kamil Bednarek",
schoolShortName = "CKZiU",
)
coEvery { mailboxDao.loadAll(any()) } returns listOf(mailbox1, mailbox2)
assertEquals(mailbox2, systemUnderTest(student))
}
private fun getMailboxEntity(
studentName: String,
schoolShortName: String = "test",
) = Mailbox(
globalKey = "",
fullName = "",
@ -170,13 +191,14 @@ class GetMailboxByStudentUseCaseTest {
schoolId = "",
symbol = "",
studentName = studentName,
schoolNameShort = "",
schoolNameShort = schoolShortName,
type = MailboxType.STUDENT,
)
private fun getStudentEntity(
studentName: String,
userName: String,
schoolShortName: String = "test",
) = Student(
scrapperBaseUrl = "http://fakelog.cf",
email = "jan@fakelog.cf",
@ -192,7 +214,7 @@ class GetMailboxByStudentUseCaseTest {
privateKey = "",
registrationDate = Instant.now(),
schoolName = "",
schoolShortName = "test",
schoolShortName = schoolShortName,
schoolSymbol = "",
studentId = 1,
studentName = studentName,