package org.openlmis.core.model.repository; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.openlmis.core.LMISRepositoryUnitTest; import org.openlmis.core.LMISTestRunner; import org.openlmis.core.model.SyncError; import org.openlmis.core.model.SyncType; import org.robolectric.RuntimeEnvironment; import roboguice.RoboGuice; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; @RunWith(LMISTestRunner.class) public class SyncErrorsRepositoryTest extends LMISRepositoryUnitTest { SyncErrorsRepository syncErrorsRepository ; @Before public void setUp() throws Exception { syncErrorsRepository = RoboGuice.getInjector(RuntimeEnvironment.application).getInstance(SyncErrorsRepository.class); } @Test public void shouldSaveSyncError() throws Exception { SyncError expectSyncError = new SyncError("errorMessage", SyncType.RnRForm,1l); syncErrorsRepository.save(expectSyncError); SyncError actualSyncError = syncErrorsRepository.getBySyncTypeAndObjectId(SyncType.RnRForm,1l).get(0); assertThat(expectSyncError.getErrorMessage(), is(actualSyncError.getErrorMessage())); } @Test public void shouldDeleteSyncError() throws Exception { saveRnRFormError(); Integer deletedSize = syncErrorsRepository.deleteBySyncTypeAndObjectId(SyncType.RnRForm, 1l); assertThat(deletedSize, is(2)); } @Test public void shouldGetRnrHasSyncErrorIsFalse() throws Exception { boolean hasRnrSyncError = syncErrorsRepository.hasSyncErrorOf(SyncType.RnRForm); assertFalse(hasRnrSyncError); } @Test public void shouldGetRnrHasSyncErrorIsTrueWhenHaveSyncFailed() throws Exception { saveRnRFormError(); boolean hasRnrSyncError = syncErrorsRepository.hasSyncErrorOf(SyncType.RnRForm); assertTrue(hasRnrSyncError); } private void saveRnRFormError() { SyncError syncError1 = new SyncError("errorMessage1", SyncType.RnRForm,1l); SyncError syncError2 = new SyncError("errorMessage2", SyncType.RnRForm,1l); SyncError syncError3 = new SyncError("errorMessage3", SyncType.RnRForm,2l); syncErrorsRepository.save(syncError1); syncErrorsRepository.save(syncError2); syncErrorsRepository.save(syncError3); } }