forked from github/wulkanowy-mirror
Add descriptive grades (#2411)
This commit is contained in:
parent
bce92b7347
commit
22f72981cb
24 changed files with 3248 additions and 224 deletions
|
@ -2,6 +2,7 @@ package io.github.wulkanowy.data.repositories
|
|||
|
||||
import io.github.wulkanowy.data.dataOrNull
|
||||
import io.github.wulkanowy.data.db.dao.GradeDao
|
||||
import io.github.wulkanowy.data.db.dao.GradeDescriptiveDao
|
||||
import io.github.wulkanowy.data.db.dao.GradeSummaryDao
|
||||
import io.github.wulkanowy.data.errorOrNull
|
||||
import io.github.wulkanowy.data.mappers.mapToEntities
|
||||
|
@ -42,6 +43,9 @@ class GradeRepositoryTest {
|
|||
@MockK
|
||||
private lateinit var gradeSummaryDb: GradeSummaryDao
|
||||
|
||||
@MockK
|
||||
private lateinit var gradeDescriptiveDb: GradeDescriptiveDao
|
||||
|
||||
@MockK(relaxUnitFun = true)
|
||||
private lateinit var refreshHelper: AutoRefreshHelper
|
||||
|
||||
|
@ -56,7 +60,8 @@ class GradeRepositoryTest {
|
|||
MockKAnnotations.init(this)
|
||||
every { refreshHelper.shouldBeRefreshed(any()) } returns false
|
||||
|
||||
gradeRepository = GradeRepository(gradeDb, gradeSummaryDb, sdk, refreshHelper)
|
||||
gradeRepository =
|
||||
GradeRepository(gradeDb, gradeSummaryDb, gradeDescriptiveDb, sdk, refreshHelper)
|
||||
|
||||
coEvery { gradeDb.deleteAll(any()) } just Runs
|
||||
coEvery { gradeDb.insertAll(any()) } returns listOf()
|
||||
|
@ -68,6 +73,13 @@ class GradeRepositoryTest {
|
|||
)
|
||||
coEvery { gradeSummaryDb.deleteAll(any()) } just Runs
|
||||
coEvery { gradeSummaryDb.insertAll(any()) } returns listOf()
|
||||
|
||||
coEvery { gradeDescriptiveDb.loadAll(any(), any()) } returnsMany listOf(
|
||||
flowOf(listOf()),
|
||||
)
|
||||
|
||||
coEvery { gradeDescriptiveDb.deleteAll(any()) } just Runs
|
||||
coEvery { gradeDescriptiveDb.insertAll(any()) } returns listOf()
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
package io.github.wulkanowy.ui.modules.grade
|
||||
|
||||
import io.github.wulkanowy.data.*
|
||||
import io.github.wulkanowy.data.Resource
|
||||
import io.github.wulkanowy.data.dataOrNull
|
||||
import io.github.wulkanowy.data.db.entities.Grade
|
||||
import io.github.wulkanowy.data.db.entities.GradeSummary
|
||||
import io.github.wulkanowy.data.db.entities.Student
|
||||
import io.github.wulkanowy.data.errorOrNull
|
||||
import io.github.wulkanowy.data.repositories.GradeRepository
|
||||
import io.github.wulkanowy.data.repositories.PreferencesRepository
|
||||
import io.github.wulkanowy.data.repositories.SemesterRepository
|
||||
import io.github.wulkanowy.data.resourceFlow
|
||||
import io.github.wulkanowy.data.toFirstResult
|
||||
import io.github.wulkanowy.getSemesterEntity
|
||||
import io.github.wulkanowy.sdk.Sdk
|
||||
import io.github.wulkanowy.utils.Status
|
||||
|
@ -158,7 +162,9 @@ class GradeAverageProviderTest {
|
|||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { noWeightGrades to noWeightGradesSummary }
|
||||
} returns resourceFlow {
|
||||
Triple(noWeightGrades, noWeightGradesSummary, emptyList())
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -186,7 +192,9 @@ class GradeAverageProviderTest {
|
|||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { noWeightGrades to noWeightGradesArithmeticSummary }
|
||||
} returns resourceFlow {
|
||||
Triple(noWeightGrades, noWeightGradesArithmeticSummary, emptyList())
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -211,8 +219,24 @@ class GradeAverageProviderTest {
|
|||
coEvery { semesterRepository.getSemesters(student) } returns semesters
|
||||
coEvery { gradeRepository.getGrades(student, semesters[2], true) } returns flow {
|
||||
emit(Resource.Loading())
|
||||
emit(Resource.Intermediate(secondGradeWithModifier to secondSummariesWithModifier))
|
||||
emit(Resource.Success(secondGradeWithModifier to secondSummariesWithModifier))
|
||||
emit(
|
||||
Resource.Intermediate(
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
emit(
|
||||
Resource.Success(
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
|
@ -253,11 +277,27 @@ class GradeAverageProviderTest {
|
|||
coEvery { gradeRepository.getGrades(student, semesters[2], false) } returns flow {
|
||||
emit(Resource.Loading())
|
||||
delay(1000)
|
||||
emit(Resource.Success(secondGradeWithModifier to secondSummariesWithModifier))
|
||||
emit(
|
||||
Resource.Success(
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
coEvery { gradeRepository.getGrades(student, semesters[1], false) } returns flow {
|
||||
emit(Resource.Loading())
|
||||
emit(Resource.Success(secondGradeWithModifier to secondSummariesWithModifier))
|
||||
emit(
|
||||
Resource.Success(
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
|
@ -296,7 +336,13 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
false
|
||||
)
|
||||
} returns resourceFlow { secondGradeWithModifier to secondSummariesWithModifier }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
student,
|
||||
|
@ -304,8 +350,10 @@ class GradeAverageProviderTest {
|
|||
false
|
||||
)
|
||||
} returns resourceFlow {
|
||||
listOf(getGrade(semesters[2].semesterId, "Język polski", .0, .0, .0)) to listOf(
|
||||
getSummary(semesters[2].semesterId, "Język polski", 2.5)
|
||||
Triple(
|
||||
listOf(getGrade(semesters[2].semesterId, "Język polski", .0, .0, .0)),
|
||||
listOf(getSummary(semesters[2].semesterId, "Język polski", 2.5)),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -332,7 +380,13 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
false
|
||||
)
|
||||
} returns resourceFlow { secondGradeWithModifier to secondSummariesWithModifier }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
student,
|
||||
|
@ -340,12 +394,14 @@ class GradeAverageProviderTest {
|
|||
false
|
||||
)
|
||||
} returns resourceFlow {
|
||||
emptyList<Grade>() to listOf(
|
||||
getSummary(
|
||||
24,
|
||||
"Język polski",
|
||||
.0
|
||||
)
|
||||
Triple(
|
||||
emptyList(), listOf(
|
||||
getSummary(
|
||||
24,
|
||||
"Język polski",
|
||||
.0
|
||||
)
|
||||
), emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -372,14 +428,22 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { emptyList<Grade>() to emptyList() }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
student,
|
||||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { emptyList<Grade>() to emptyList() }
|
||||
} returns resourceFlow {
|
||||
Triple(emptyList(), emptyList(), emptyList())
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -404,7 +468,13 @@ class GradeAverageProviderTest {
|
|||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGradeWithModifier to secondSummariesWithModifier }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -438,7 +508,13 @@ class GradeAverageProviderTest {
|
|||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGradeWithModifier to secondSummariesWithModifier }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -472,7 +548,13 @@ class GradeAverageProviderTest {
|
|||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGradeWithModifier to secondSummariesWithModifier }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -506,7 +588,13 @@ class GradeAverageProviderTest {
|
|||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGradeWithModifier to secondSummariesWithModifier }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
secondGradeWithModifier,
|
||||
secondSummariesWithModifier,
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -534,7 +622,7 @@ class GradeAverageProviderTest {
|
|||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGrades to secondSummaries }
|
||||
} returns resourceFlow { Triple(secondGrades, secondSummaries, emptyList()) }
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -564,7 +652,7 @@ class GradeAverageProviderTest {
|
|||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGrades to secondSummaries }
|
||||
} returns resourceFlow { Triple(secondGrades, secondSummaries, emptyList()) }
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -594,7 +682,7 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { firstGrades to firstSummaries }
|
||||
} returns resourceFlow { Triple(firstGrades, firstSummaries, emptyList()) }
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -625,8 +713,8 @@ class GradeAverageProviderTest {
|
|||
coEvery { semesterRepository.getSemesters(student) } returns semesters
|
||||
coEvery { gradeRepository.getGrades(student, semesters[1], true) } returns flow {
|
||||
emit(Resource.Loading())
|
||||
emit(Resource.Intermediate(firstGrades to firstSummaries))
|
||||
emit(Resource.Success(firstGrades to firstSummaries))
|
||||
emit(Resource.Intermediate(Triple(firstGrades, firstSummaries, emptyList())))
|
||||
emit(Resource.Success(Triple(firstGrades, firstSummaries, emptyList())))
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
|
@ -675,9 +763,11 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
firstGrades to listOf(
|
||||
getSummary(22, "Matematyka", 3.0),
|
||||
getSummary(22, "Fizyka", 3.5)
|
||||
Triple(
|
||||
firstGrades, listOf(
|
||||
getSummary(22, "Matematyka", 3.0),
|
||||
getSummary(22, "Fizyka", 3.5)
|
||||
), emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
|
@ -687,9 +777,13 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
secondGrades to listOf(
|
||||
getSummary(22, "Matematyka", 3.5),
|
||||
getSummary(22, "Fizyka", 4.0)
|
||||
Triple(
|
||||
secondGrades,
|
||||
listOf(
|
||||
getSummary(22, "Matematyka", 3.5),
|
||||
getSummary(22, "Fizyka", 4.0)
|
||||
),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -723,17 +817,21 @@ class GradeAverageProviderTest {
|
|||
emit(Resource.Loading())
|
||||
emit(
|
||||
Resource.Intermediate(
|
||||
firstGrades to listOf(
|
||||
getSummary(22, "Matematyka", 3.0),
|
||||
getSummary(22, "Fizyka", 3.5)
|
||||
Triple(
|
||||
firstGrades, listOf(
|
||||
getSummary(22, "Matematyka", 3.0),
|
||||
getSummary(22, "Fizyka", 3.5)
|
||||
), emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
emit(
|
||||
Resource.Success(
|
||||
firstGrades to listOf(
|
||||
getSummary(22, "Matematyka", 3.0),
|
||||
getSummary(22, "Fizyka", 3.5)
|
||||
Triple(
|
||||
firstGrades, listOf(
|
||||
getSummary(22, "Matematyka", 3.0),
|
||||
getSummary(22, "Fizyka", 3.5)
|
||||
), emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -742,17 +840,21 @@ class GradeAverageProviderTest {
|
|||
emit(Resource.Loading())
|
||||
emit(
|
||||
Resource.Intermediate(
|
||||
secondGrades to listOf(
|
||||
getSummary(22, "Matematyka", 3.5),
|
||||
getSummary(22, "Fizyka", 4.0)
|
||||
Triple(
|
||||
secondGrades, listOf(
|
||||
getSummary(22, "Matematyka", 3.5),
|
||||
getSummary(22, "Fizyka", 4.0)
|
||||
), emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
emit(
|
||||
Resource.Success(
|
||||
secondGrades to listOf(
|
||||
getSummary(22, "Matematyka", 3.5),
|
||||
getSummary(22, "Fizyka", 4.0)
|
||||
Triple(
|
||||
secondGrades, listOf(
|
||||
getSummary(22, "Matematyka", 3.5),
|
||||
getSummary(22, "Fizyka", 4.0)
|
||||
), emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -803,7 +905,7 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { firstGrades to firstSummaries }
|
||||
} returns resourceFlow { Triple(firstGrades, firstSummaries, emptyList()) }
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
student,
|
||||
|
@ -811,9 +913,11 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
secondGrades to listOf(
|
||||
getSummary(22, "Matematyka", 1.1),
|
||||
getSummary(22, "Fizyka", 7.26)
|
||||
Triple(
|
||||
secondGrades, listOf(
|
||||
getSummary(22, "Matematyka", 1.1),
|
||||
getSummary(22, "Fizyka", 7.26)
|
||||
), emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -850,9 +954,11 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
firstGrades to listOf(
|
||||
getSummary(22, "Matematyka", .0),
|
||||
getSummary(22, "Fizyka", .0)
|
||||
Triple(
|
||||
firstGrades, listOf(
|
||||
getSummary(22, "Matematyka", .0),
|
||||
getSummary(22, "Fizyka", .0)
|
||||
), emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
|
@ -862,9 +968,11 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
secondGrades to listOf(
|
||||
getSummary(22, "Matematyka", .0),
|
||||
getSummary(22, "Fizyka", .0)
|
||||
Triple(
|
||||
secondGrades, listOf(
|
||||
getSummary(22, "Matematyka", .0),
|
||||
getSummary(22, "Fizyka", .0)
|
||||
), emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -889,24 +997,28 @@ class GradeAverageProviderTest {
|
|||
coEvery { semesterRepository.getSemesters(student) } returns semesters
|
||||
coEvery { gradeRepository.getGrades(student, semesters[1], true) } returns flow {
|
||||
emit(Resource.Loading())
|
||||
emit(Resource.Intermediate(firstGrades to firstSummaries))
|
||||
emit(Resource.Success(firstGrades to firstSummaries))
|
||||
emit(Resource.Intermediate(Triple(firstGrades, firstSummaries, emptyList())))
|
||||
emit(Resource.Success(Triple(firstGrades, firstSummaries, emptyList())))
|
||||
}
|
||||
coEvery { gradeRepository.getGrades(student, semesters[2], true) } returns flow {
|
||||
emit(Resource.Loading())
|
||||
emit(
|
||||
Resource.Intermediate(
|
||||
secondGrades to listOf(
|
||||
getSummary(22, "Matematyka", 1.1),
|
||||
getSummary(22, "Fizyka", 7.26)
|
||||
Triple(
|
||||
secondGrades, listOf(
|
||||
getSummary(22, "Matematyka", 1.1),
|
||||
getSummary(22, "Fizyka", 7.26)
|
||||
), emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
emit(
|
||||
Resource.Success(
|
||||
secondGrades to listOf(
|
||||
getSummary(22, "Matematyka", 1.1),
|
||||
getSummary(22, "Fizyka", 7.26)
|
||||
Triple(
|
||||
secondGrades, listOf(
|
||||
getSummary(22, "Matematyka", 1.1),
|
||||
getSummary(22, "Fizyka", 7.26)
|
||||
), emptyList()
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -958,14 +1070,14 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { firstGrades to emptyList() }
|
||||
} returns resourceFlow { Triple(firstGrades, emptyList(), emptyList()) }
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
student,
|
||||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGrades to emptyList() }
|
||||
} returns resourceFlow { Triple(secondGrades, emptyList(), emptyList()) }
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -1000,14 +1112,14 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { firstGrades to emptyList() }
|
||||
} returns resourceFlow { Triple(firstGrades, emptyList(), emptyList()) }
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
student,
|
||||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGrades to emptyList() }
|
||||
} returns resourceFlow { Triple(secondGrades, emptyList(), emptyList()) }
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -1043,8 +1155,10 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
firstGrades to listOf(
|
||||
getSummary(22, "Matematyka", 4.0)
|
||||
Triple(
|
||||
firstGrades, listOf(
|
||||
getSummary(22, "Matematyka", 4.0)
|
||||
), emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
|
@ -1054,8 +1168,10 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
secondGrades to listOf(
|
||||
getSummary(23, "Matematyka", 3.0)
|
||||
Triple(
|
||||
secondGrades, listOf(
|
||||
getSummary(23, "Matematyka", 3.0)
|
||||
), emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -1092,14 +1208,20 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { firstGrades to firstSummaries }
|
||||
} returns resourceFlow { Triple(firstGrades, firstSummaries, emptyList()) }
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
student,
|
||||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGrades to secondSummaries.dropLast(1) }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
secondGrades,
|
||||
secondSummaries.dropLast(1),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -1134,14 +1256,20 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { firstGrades to firstSummaries.dropLast(1) }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
firstGrades,
|
||||
firstSummaries.dropLast(1),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
student,
|
||||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGrades to secondSummaries }
|
||||
} returns resourceFlow { Triple(secondGrades, secondSummaries, emptyList()) }
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -1176,14 +1304,20 @@ class GradeAverageProviderTest {
|
|||
semesters[1],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { firstGrades to firstSummaries.dropLast(1) }
|
||||
} returns resourceFlow {
|
||||
Triple(
|
||||
firstGrades,
|
||||
firstSummaries.dropLast(1),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
student,
|
||||
semesters[2],
|
||||
true
|
||||
)
|
||||
} returns resourceFlow { secondGrades to secondSummaries }
|
||||
} returns resourceFlow { Triple(secondGrades, secondSummaries, emptyList()) }
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
@ -1219,16 +1353,20 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
listOf(
|
||||
getGrade(22, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 5.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0)
|
||||
) to listOf(getSummary(semesterId = 22, subject = "Fizyka", average = .0))
|
||||
Triple(
|
||||
listOf(
|
||||
getGrade(22, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 5.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0)
|
||||
),
|
||||
listOf(getSummary(semesterId = 22, subject = "Fizyka", average = .0)),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
|
@ -1237,11 +1375,15 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
listOf(
|
||||
getGrade(23, "Fizyka", 5.0, weight = 1.0),
|
||||
getGrade(23, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(23, "Fizyka", 4.0, modifier = 0.3, weight = 2.0)
|
||||
) to listOf(getSummary(semesterId = 23, subject = "Fizyka", average = .0))
|
||||
Triple(
|
||||
listOf(
|
||||
getGrade(23, "Fizyka", 5.0, weight = 1.0),
|
||||
getGrade(23, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(23, "Fizyka", 4.0, modifier = 0.3, weight = 2.0)
|
||||
),
|
||||
listOf(getSummary(semesterId = 23, subject = "Fizyka", average = .0)),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
|
@ -1266,23 +1408,31 @@ class GradeAverageProviderTest {
|
|||
every { preferencesRepository.gradeAverageModeFlow } returns flowOf(GradeAverageMode.ALL_YEAR)
|
||||
|
||||
coEvery { gradeRepository.getGrades(student, semesters[1], true) } returns resourceFlow {
|
||||
listOf(
|
||||
getGrade(22, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 5.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0)
|
||||
) to listOf(getSummary(semesterId = 22, subject = "Fizyka", average = .0))
|
||||
Triple(
|
||||
listOf(
|
||||
getGrade(22, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 5.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0)
|
||||
),
|
||||
listOf(getSummary(semesterId = 22, subject = "Fizyka", average = .0)),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
coEvery { gradeRepository.getGrades(student, semesters[2], true) } returns resourceFlow {
|
||||
listOf(
|
||||
getGrade(23, "Fizyka", 5.0, weight = 1.0),
|
||||
getGrade(23, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(23, "Fizyka", 4.0, modifier = 0.3, weight = 2.0)
|
||||
) to listOf(getSummary(semesterId = 23, subject = "Fizyka", average = .0))
|
||||
Triple(
|
||||
listOf(
|
||||
getGrade(23, "Fizyka", 5.0, weight = 1.0),
|
||||
getGrade(23, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(23, "Fizyka", 4.0, modifier = 0.3, weight = 2.0)
|
||||
),
|
||||
listOf(getSummary(semesterId = 23, subject = "Fizyka", average = .0)),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
|
@ -1313,23 +1463,31 @@ class GradeAverageProviderTest {
|
|||
coEvery { semesterRepository.getSemesters(student) } returns semesters
|
||||
|
||||
coEvery { gradeRepository.getGrades(student, semesters[1], true) } returns resourceFlow {
|
||||
listOf(
|
||||
getGrade(22, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 5.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0)
|
||||
) to listOf(getSummary(semesterId = 22, subject = "Fizyka", average = .0))
|
||||
Triple(
|
||||
listOf(
|
||||
getGrade(22, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 5.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0)
|
||||
),
|
||||
listOf(getSummary(semesterId = 22, subject = "Fizyka", average = .0)),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
coEvery { gradeRepository.getGrades(student, semesters[2], true) } returns resourceFlow {
|
||||
listOf(
|
||||
getGrade(23, "Fizyka", 5.0, weight = 1.0),
|
||||
getGrade(23, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(23, "Fizyka", 4.0, modifier = 0.33, weight = 2.0)
|
||||
) to listOf(getSummary(semesterId = 23, subject = "Fizyka", average = .0))
|
||||
Triple(
|
||||
listOf(
|
||||
getGrade(23, "Fizyka", 5.0, weight = 1.0),
|
||||
getGrade(23, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(23, "Fizyka", 4.0, modifier = 0.33, weight = 2.0)
|
||||
),
|
||||
listOf(getSummary(semesterId = 23, subject = "Fizyka", average = .0)),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
|
@ -1366,16 +1524,20 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
listOf(
|
||||
getGrade(22, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 5.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0)
|
||||
) to listOf(getSummary(semesterId = 22, subject = "Fizyka", average = .0))
|
||||
Triple(
|
||||
listOf(
|
||||
getGrade(22, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 5.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 4.0),
|
||||
getGrade(22, "Fizyka", 6.0, weight = 2.0)
|
||||
),
|
||||
listOf(getSummary(semesterId = 22, subject = "Fizyka", average = .0)),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
coEvery {
|
||||
gradeRepository.getGrades(
|
||||
|
@ -1384,11 +1546,15 @@ class GradeAverageProviderTest {
|
|||
true
|
||||
)
|
||||
} returns resourceFlow {
|
||||
listOf(
|
||||
getGrade(23, "Fizyka", 5.0, weight = 1.0),
|
||||
getGrade(23, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(23, "Fizyka", 4.0, modifier = 0.33, weight = 2.0)
|
||||
) to listOf(getSummary(semesterId = 23, subject = "Fizyka", average = .0))
|
||||
Triple(
|
||||
listOf(
|
||||
getGrade(23, "Fizyka", 5.0, weight = 1.0),
|
||||
getGrade(23, "Fizyka", 5.0, weight = 2.0),
|
||||
getGrade(23, "Fizyka", 4.0, modifier = 0.33, weight = 2.0)
|
||||
),
|
||||
listOf(getSummary(semesterId = 23, subject = "Fizyka", average = .0)),
|
||||
emptyList()
|
||||
)
|
||||
}
|
||||
|
||||
val items = runBlocking {
|
||||
|
@ -1413,9 +1579,9 @@ class GradeAverageProviderTest {
|
|||
every { preferencesRepository.isOptionalArithmeticAverageFlow } returns flowOf(false)
|
||||
|
||||
coEvery { gradeRepository.getGrades(student, semesters[1], true) } returns
|
||||
resourceFlow { firstGrades to firstSummaries }
|
||||
resourceFlow { Triple(firstGrades, firstSummaries, emptyList()) }
|
||||
coEvery { gradeRepository.getGrades(student, semesters[2], true) } returns
|
||||
resourceFlow { listOf<Grade>() to firstSummaries }
|
||||
resourceFlow { Triple(listOf<Grade>(), firstSummaries, emptyList()) }
|
||||
|
||||
val items = runBlocking {
|
||||
gradeAverageProvider.getGradesDetailsWithAverage(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue