package com.constellio.app.modules.rm.wrappers.structures; import static org.assertj.core.api.Assertions.assertThat; import org.joda.time.LocalDateTime; import org.junit.Before; import org.junit.Test; import com.constellio.data.utils.TimeProvider; import com.constellio.sdk.tests.ConstellioTest; public class PendingAlertFactoryTest extends ConstellioTest { PendingAlertFactory factory; LocalDateTime nowDateTime = TimeProvider.getLocalDateTime(); @Before public void setUp() throws Exception { factory = new PendingAlertFactory(); } @Test public void whenSetAttributeValueThenBecomeDirty() { PendingAlert pendingAlert = new PendingAlert(); assertThat(pendingAlert.isDirty()).isFalse(); pendingAlert = new PendingAlert(); pendingAlert.setAlertCode(AlertCode.LATE_FOLDER); assertThat(pendingAlert.isDirty()).isTrue(); pendingAlert = new PendingAlert(); pendingAlert.setOn(nowDateTime); assertThat(pendingAlert.isDirty()).isTrue(); pendingAlert = new PendingAlert(); pendingAlert.setReminderCount(1.0); assertThat(pendingAlert.isDirty()).isTrue(); } @Test public void whenConvertingStructureWithAllValuesThenRemainsEqual() throws Exception { PendingAlert pendingAlert = new PendingAlert(); pendingAlert.setOn(nowDateTime); pendingAlert.setAlertCode(AlertCode.LATE_FOLDER); pendingAlert.setReminderCount(1.0); String stringValue = factory.toString(pendingAlert); PendingAlert builtPendingAlert = (PendingAlert) factory.build(stringValue); String stringValue2 = factory.toString(builtPendingAlert); assertThat(builtPendingAlert).isEqualTo(pendingAlert); assertThat(stringValue2).isEqualTo(stringValue); assertThat(builtPendingAlert.isDirty()).isFalse(); } @Test public void whenConvertingStructureWithNullValuesThenRemainsEqual() throws Exception { PendingAlert pendingAlert = new PendingAlert(); pendingAlert.setOn(null); pendingAlert.setReminderCount(null); pendingAlert.setReminderCount(null); String stringValue = factory.toString(pendingAlert); PendingAlert builtPendingAlert = (PendingAlert) factory.build(stringValue); String stringValue2 = factory.toString(builtPendingAlert); assertThat(builtPendingAlert).isEqualTo(pendingAlert); assertThat(stringValue2).isEqualTo(stringValue); assertThat(builtPendingAlert.isDirty()).isFalse(); } @Test public void whenConvertingStructureWithoutSetValuesThenRemainsEqual() throws Exception { PendingAlert pendingAlert = new PendingAlert(); String stringValue = factory.toString(pendingAlert); PendingAlert builtPendingAlert = (PendingAlert) factory.build(stringValue); String stringValue2 = factory.toString(builtPendingAlert); assertThat(builtPendingAlert).isEqualTo(pendingAlert); assertThat(stringValue2).isEqualTo(stringValue); assertThat(builtPendingAlert.isDirty()).isFalse(); } }