diff --git a/app/src/androidTest/java/com/android/streetworkapp/ui/Progression/ProgressionTest.kt b/app/src/androidTest/java/com/android/streetworkapp/ui/Progression/ProgressionTest.kt index 916795661..28f27ad3a 100644 --- a/app/src/androidTest/java/com/android/streetworkapp/ui/Progression/ProgressionTest.kt +++ b/app/src/androidTest/java/com/android/streetworkapp/ui/Progression/ProgressionTest.kt @@ -291,4 +291,35 @@ class ProgressionTest { composeTestRule.onNodeWithTag("achievementItem$name").assertIsDisplayed() } } + + @Test + fun screenDisplayTextOnEmptyWorkoutData() { + val mockedProgression = + Progression( + progressionId = "prog123456", + uid = mockedUser.uid, + currentGoal = Ranks.BRONZE.score, + eventsCreated = 0, + eventsJoined = 0, + achievements = emptyList()) + + coEvery { progressionRepository.getOrAddProgression(eq(mockedUser.uid)) } answers + { + mockedProgression + } + + // simulates empty workout data + coEvery { workoutRepository.getOrAddWorkoutData(any()) } answers + { + WorkoutData(userUid = uid, workoutSessions = emptyList()) + } + + composeTestRule.setContent { + ProgressScreen(navigationActions, userViewModel, progressionViewModel, workoutViewModel) + } + + composeTestRule.onNodeWithTag("TrainingTab").performClick() + + composeTestRule.onNodeWithTag("emptyTrainingText").assertExists() + } } diff --git a/app/src/main/java/com/android/streetworkapp/model/progression/Progression.kt b/app/src/main/java/com/android/streetworkapp/model/progression/Progression.kt index 41b8e947e..648e5ab90 100644 --- a/app/src/main/java/com/android/streetworkapp/model/progression/Progression.kt +++ b/app/src/main/java/com/android/streetworkapp/model/progression/Progression.kt @@ -50,40 +50,31 @@ enum class MedalsAchievement(val achievement: Achievement, val rank: Ranks) { BRONZE( Achievement( - R.drawable.bronze_achievement_icon, + R.drawable.bronze_icon_final, "Bronze Medal", listOf("Bronze"), "You obtained 100 Points!"), Ranks.BRONZE), SILVER( Achievement( - R.drawable.silver_achievement_icon, + R.drawable.silver_icon_final, "Silver Medal", listOf("Silver"), "You obtained 1000 Points!"), Ranks.SILVER), GOLD( Achievement( - R.drawable.gold_achievement_icon, - "Gold Medal", - listOf("Gold"), - "You obtained 10000 Points!"), + R.drawable.gold_icon_final, "Gold Medal", listOf("Gold"), "You obtained 10000 Points!"), Ranks.GOLD), PLATINUM( Achievement( - R.drawable.bronze_achievement_icon, + R.drawable.platinum_icon_final, "Platinum Medal", listOf("Platinum"), "You obtained 100000 Points!"), Ranks.PLATINUM) } -/** Represents a type of achievement linked to the performance of the user on different exercises */ -enum class ExerciseAchievement(val achievement: Achievement) { - HANDSTAND(Achievement(R.drawable.train_hand_stand, "Handstand", emptyList(), "")), - FRONT_LEVER(Achievement(R.drawable.train_front_lever, "Front Lever", emptyList(), "")) -} - /** Represents a type of achievement linked to the social interactions of the user */ enum class SocialAchievement(val achievement: Achievement, val numberOfFriends: Int) { SOCIAL1( diff --git a/app/src/main/java/com/android/streetworkapp/ui/progress/Progression.kt b/app/src/main/java/com/android/streetworkapp/ui/progress/Progression.kt index b583aac4c..49df732ef 100644 --- a/app/src/main/java/com/android/streetworkapp/ui/progress/Progression.kt +++ b/app/src/main/java/com/android/streetworkapp/ui/progress/Progression.kt @@ -170,6 +170,14 @@ fun ProgressScreen( } DashboardStateProgression.Training -> { + if (currentWorkout?.workoutSessions.isNullOrEmpty()) { + Text( + text = LocalContext.current.getString(R.string.ProgressionEmptyTraining), + fontSize = 15.sp, + fontWeight = FontWeight.Normal, + color = ColorPalette.SECONDARY_TEXT_COLOR, + modifier = Modifier.padding(top = 10.dp).testTag("emptyTrainingText")) + } currentWorkout?.workoutSessions?.forEach { workout -> val date = workout.startTime.toFormattedString() workout.exercises.forEach { diff --git a/app/src/main/res/drawable/bronze_icon_final.png b/app/src/main/res/drawable/bronze_icon_final.png new file mode 100644 index 000000000..5e40d3a23 Binary files /dev/null and b/app/src/main/res/drawable/bronze_icon_final.png differ diff --git a/app/src/main/res/drawable/gold_icon_final.png b/app/src/main/res/drawable/gold_icon_final.png new file mode 100644 index 000000000..ed46f4260 Binary files /dev/null and b/app/src/main/res/drawable/gold_icon_final.png differ diff --git a/app/src/main/res/drawable/platinum_icon_final.png b/app/src/main/res/drawable/platinum_icon_final.png new file mode 100644 index 000000000..c6da3f48d Binary files /dev/null and b/app/src/main/res/drawable/platinum_icon_final.png differ diff --git a/app/src/main/res/drawable/silver_icon_final.png b/app/src/main/res/drawable/silver_icon_final.png new file mode 100644 index 000000000..e1ad285e9 Binary files /dev/null and b/app/src/main/res/drawable/silver_icon_final.png differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b29311f5b..c368326f1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -68,6 +68,7 @@ // Progression UI You do not have any achievements yet! + You have not trained yet! You trained your %s ! Push-ups