Add driver leave request screens
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package pl.firmatpp.kierowca.ui
|
||||
|
||||
import java.time.LocalDate
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
|
||||
class DriverLeaveRequestUiRulesTest {
|
||||
@Test
|
||||
fun featureIsVisibleOnlyWhenServerConfigEnablesIt() {
|
||||
assertFalse(DriverLeaveRequestUiRules.isFeatureVisible(null))
|
||||
assertFalse(DriverLeaveRequestUiRules.isFeatureVisible(LeaveRequestsConfig(enabled = false, types = listOf("URLOP"))))
|
||||
assertTrue(DriverLeaveRequestUiRules.isFeatureVisible(LeaveRequestsConfig(enabled = true, types = listOf("URLOP"))))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun exposesPolishStatusLabels() {
|
||||
assertEquals("Oczekuje", DriverLeaveRequestUiRules.statusLabel("pending"))
|
||||
assertEquals("Anulowanie do decyzji", DriverLeaveRequestUiRules.statusLabel("cancel_requested"))
|
||||
assertEquals("Cofnięto decyzję", DriverLeaveRequestUiRules.statusLabel("revoked"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun driverCanCancelPendingAndFutureApprovedRequests() {
|
||||
val tomorrow = LocalDate.now().plusDays(1).toString()
|
||||
val yesterday = LocalDate.now().minusDays(1).toString()
|
||||
|
||||
assertTrue(DriverLeaveRequestUiRules.canCancel(status = "pending", dateFrom = yesterday))
|
||||
assertTrue(DriverLeaveRequestUiRules.canCancel(status = "approved", dateFrom = tomorrow))
|
||||
assertFalse(DriverLeaveRequestUiRules.canCancel(status = "approved", dateFrom = yesterday))
|
||||
assertFalse(DriverLeaveRequestUiRules.canCancel(status = "rejected", dateFrom = tomorrow))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user