From eac5861a399bd2a7d9ca1bfbcebef254f3b6f2be Mon Sep 17 00:00:00 2001 From: Elouan BOITEUX Date: Wed, 29 Jul 2026 14:35:40 +0200 Subject: [PATCH] feat: Add unit tests for formatDelayText --- .../mail/utils/date/DateFormatUtilsTest.kt | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 app/src/test/java/com/infomaniak/mail/utils/date/DateFormatUtilsTest.kt diff --git a/app/src/test/java/com/infomaniak/mail/utils/date/DateFormatUtilsTest.kt b/app/src/test/java/com/infomaniak/mail/utils/date/DateFormatUtilsTest.kt new file mode 100644 index 0000000000..493a0ec559 --- /dev/null +++ b/app/src/test/java/com/infomaniak/mail/utils/date/DateFormatUtilsTest.kt @@ -0,0 +1,68 @@ +package com.infomaniak.mail.utils.date + +import android.content.Context +import android.content.res.Resources +import com.infomaniak.mail.R +import com.infomaniak.mail.utils.date.DateFormatUtils.formatDelayText +import io.mockk.every +import io.mockk.mockk +import org.junit.Assert.assertEquals +import org.junit.Test + +class DateFormatUtilsTest { + + private val context = mockk() + private val resources = mockk() + + init { + every { context.resources } returns resources + } + + @Test + fun `formatDelayText returns days when delay is 1 day`() { + val delayMinutes = 24 * 60 * 1 // 1 day + val expectedText = "1 day" + + every { resources.getQuantityString(R.plurals.daysBeforeSendingReminder, 1, 1) } returns expectedText + + val result = context.formatDelayText(delayMinutes) + + assertEquals(expectedText, result) + } + + @Test + fun `formatDelayText returns hours when delay is 1 hour`() { + val delayMinutes = 60 // 1 hour + val expectedText = "1 hour" + + every { resources.getQuantityString(R.plurals.hoursBeforeSendingReminder, 1, 1) } returns expectedText + + val result = context.formatDelayText(delayMinutes) + + assertEquals(expectedText, result) + } + + @Test + fun `formatDelayText returns days when delay is 3 days`() { + val delayMinutes = 24 * 60 * 3 // 3 days + val expectedText = "3 days" + + every { resources.getQuantityString(R.plurals.daysBeforeSendingReminder, 3, 3) } returns expectedText + + val result = context.formatDelayText(delayMinutes) + + assertEquals(expectedText, result) + } + + @Test + fun `formatDelayText returns hours when delay is 3 hours`() { + val delayMinutes = 60 * 3 // 3 hours + val expectedText = "3 hours" + + every { resources.getQuantityString(R.plurals.hoursBeforeSendingReminder, 3, 3) } returns expectedText + + val result = context.formatDelayText(delayMinutes) + + assertEquals(expectedText, result) + } +}