From c10442b827e319218784b7b30d39a34a16dcd165 Mon Sep 17 00:00:00 2001 From: ITQ Date: Sun, 23 Nov 2025 15:23:24 +0300 Subject: [PATCH] (scope): [body] [footer(s)] --- .../data/data_providers/local_db/entities/ResumeEntity.kt | 2 +- .../local_db/entities/ResumeHistoryEntity.kt | 2 +- .../java/com/prodhack/moscow2025/data/dto/ResumeDtos.kt | 8 ++++---- .../moscow2025/presentation/screens/login/LoginScreen.kt | 7 ++++++- .../usecase/GetDefaultPhoneNumberPatternUseCaseTest.kt | 7 +++++-- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/prodhack/moscow2025/data/data_providers/local_db/entities/ResumeEntity.kt b/app/src/main/java/com/prodhack/moscow2025/data/data_providers/local_db/entities/ResumeEntity.kt index 89bb87e..0eeb22d 100644 --- a/app/src/main/java/com/prodhack/moscow2025/data/data_providers/local_db/entities/ResumeEntity.kt +++ b/app/src/main/java/com/prodhack/moscow2025/data/data_providers/local_db/entities/ResumeEntity.kt @@ -38,7 +38,7 @@ data class ResumeEntity( fromSalary, toSalary ), - recommendedSkills = recommendedSkills.split("|"), + recommendedSkills = if (recommendedSkills.isBlank()) emptyList() else recommendedSkills.split("|").filter { it.isNotBlank() }, city = city, experience = JsonTypeConverters.toWorkExperienceList(experience), education = JsonTypeConverters.toEducationList(education), diff --git a/app/src/main/java/com/prodhack/moscow2025/data/data_providers/local_db/entities/ResumeHistoryEntity.kt b/app/src/main/java/com/prodhack/moscow2025/data/data_providers/local_db/entities/ResumeHistoryEntity.kt index 0052ed6..b948610 100644 --- a/app/src/main/java/com/prodhack/moscow2025/data/data_providers/local_db/entities/ResumeHistoryEntity.kt +++ b/app/src/main/java/com/prodhack/moscow2025/data/data_providers/local_db/entities/ResumeHistoryEntity.kt @@ -37,7 +37,7 @@ data class ResumeHistoryEntity( experienceType = ExperienceType.valueOf(experienceType), skills = keySkills.split("|"), prediction = Pair(fromSalary, toSalary), - recommendedSkills = recommendedSkills.split("|"), + recommendedSkills = if (recommendedSkills.isBlank()) emptyList() else recommendedSkills.split("|").filter { it.isNotBlank() }, city = city, experience = JsonTypeConverters.toWorkExperienceList(experience), education = JsonTypeConverters.toEducationList(education), diff --git a/app/src/main/java/com/prodhack/moscow2025/data/dto/ResumeDtos.kt b/app/src/main/java/com/prodhack/moscow2025/data/dto/ResumeDtos.kt index 0734165..30bb40a 100644 --- a/app/src/main/java/com/prodhack/moscow2025/data/dto/ResumeDtos.kt +++ b/app/src/main/java/com/prodhack/moscow2025/data/dto/ResumeDtos.kt @@ -71,8 +71,8 @@ data class ResumeDTO( experienceType = experienceType.mapToDomain(), prediction = prediction?.let { Pair( - it.fromSalary.toIntOrNull(), - it.toSalary.toIntOrNull() + it.fromSalary.toDoubleOrNull()?.toInt(), + it.toSalary.toDoubleOrNull()?.toInt() ) }, recommendedSkills = prediction?.recommendedSkills, @@ -87,8 +87,8 @@ data class ResumeDTO( aboutMe = aboutMe, keySkills = keySkills.joinToString("|"), position = position, - fromSalary = prediction?.fromSalary?.toIntOrNull(), - toSalary = prediction?.toSalary?.toIntOrNull(), + fromSalary = prediction?.fromSalary?.toDoubleOrNull()?.toInt(), + toSalary = prediction?.toSalary?.toDoubleOrNull()?.toInt(), recommendedSkills = prediction?.recommendedSkills?.joinToString("|") ?: "", experienceType = experienceType.mapToDomain().name, city = city, diff --git a/app/src/main/java/com/prodhack/moscow2025/presentation/screens/login/LoginScreen.kt b/app/src/main/java/com/prodhack/moscow2025/presentation/screens/login/LoginScreen.kt index 992bd66..9cfc81c 100644 --- a/app/src/main/java/com/prodhack/moscow2025/presentation/screens/login/LoginScreen.kt +++ b/app/src/main/java/com/prodhack/moscow2025/presentation/screens/login/LoginScreen.kt @@ -64,7 +64,12 @@ fun ErrorCollectorScope.LoginScreen( Pair("user2@mail.ru", "qQW!!!.rty3nqc18123"), Pair("user3@mail.ru", "qQW!!!.rty3nqc18123"), Pair("user4@mail.ru", "qQW!!!.rty3nqc18123"), - Pair("user5@mail.ru", "qQW!!!.rty3nqc18123") + Pair("user5@mail.ru", "qQW!!!.rty3nqc18123"), + Pair("user6@mail.ru", "qQW!!!.rty3nqc18123"), + Pair("user7@mail.ru", "qQW!!!.rty3nqc18123"), + Pair("user8@mail.ru", "qQW!!!.rty3nqc18123"), + Pair("user9@mail.ru", "qQW!!!.rty3nqc18123"), + Pair("user10@mail.ru", "qQW!!!.rty3nqc18123"), ) val typography = MaterialTheme.typography diff --git a/app/src/test/java/com/prodhack/moscow2025/domain/usecase/GetDefaultPhoneNumberPatternUseCaseTest.kt b/app/src/test/java/com/prodhack/moscow2025/domain/usecase/GetDefaultPhoneNumberPatternUseCaseTest.kt index 123d731..91c34f3 100644 --- a/app/src/test/java/com/prodhack/moscow2025/domain/usecase/GetDefaultPhoneNumberPatternUseCaseTest.kt +++ b/app/src/test/java/com/prodhack/moscow2025/domain/usecase/GetDefaultPhoneNumberPatternUseCaseTest.kt @@ -27,10 +27,13 @@ class GetDefaultPhoneNumberPatternUseCaseTest { val useCase = GetDefaultPhoneNumberPatternUseCase() val result = useCase.execute() val systemLocale = Locale.getDefault().country - + if (result != null) { // If a pattern is found, it should match the system locale - assertEquals(systemLocale, result.countryCodeISO, ignoreCase = true) + assertTrue( + "Pattern country code should match system locale", + systemLocale.equals(result.countryCodeISO, ignoreCase = true) + ) } else { // If no pattern found, system locale might not be in the list val hasPatternForLocale = PhoneNumberPatternsProvider.phoneNumberPatterns.any {