package com.ushahidi.platform.mobile.app.data.entity.mapper; import com.ushahidi.platform.mobile.app.BuildConfig; import com.ushahidi.platform.mobile.app.DefaultConfig; import com.ushahidi.platform.mobile.app.data.entity.FormStageEntity; import com.ushahidi.platform.mobile.app.data.entity.TestEntityFixtures; import com.ushahidi.platform.mobile.app.domain.entity.FormStage; import com.ushahidi.platform.mobile.app.domain.entity.TestFixtures; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricGradleTestRunner; import org.robolectric.annotation.Config; import java.util.ArrayList; import java.util.List; import static com.google.common.truth.Truth.assertThat; /** * Tests {@link FormStageEntityDataMapper} * * @author Ushahidi Team <team@ushahidi.com> */ @RunWith(RobolectricGradleTestRunner.class) @Config(sdk = DefaultConfig.EMULATE_SDK, constants = BuildConfig.class) public class FormStageEntityDataMapperTest { private FormStage mFormStage; private FormStageEntity mFormStageEntity; private FormStageEntityDataMapper mFormStageEntityDataMapper; @Before public void setUp() throws Exception { mFormStageEntityDataMapper = new FormStageEntityDataMapper(); } @Test public void shouldMapFormStageEntityToFormStage() { mFormStage = TestFixtures.getFormStage(); assertThat(mFormStage).isNotNull(); mFormStageEntity = mFormStageEntityDataMapper.map(mFormStage); assertThat(mFormStageEntity).isNotNull(); assertThat(mFormStageEntity.getFormId()) .isEqualTo(TestFixtures.getFormStage().getFormId()); assertThat(mFormStageEntity.getLabel()).isEqualTo("Test varchar"); assertThat(mFormStageEntity.getRequired()).isTrue(); assertThat(mFormStageEntity.getPriority()) .isEqualTo(TestFixtures.getFormStage().getPriority()); } @Test public void shouldMapFormStageToFormStageEntity() { mFormStageEntity = TestEntityFixtures.getFormStageEntity(); assertThat(mFormStageEntity).isNotNull(); mFormStage = mFormStageEntityDataMapper.map(mFormStageEntity); assertThat(mFormStage).isNotNull(); assertThat(mFormStage.getFormId()) .isEqualTo(TestEntityFixtures.getFormStageEntity().getFormId()); assertThat(mFormStage.getLabel()) .isEqualTo(TestEntityFixtures.getFormStageEntity().getLabel()); assertThat(mFormStage.getRequired()).isTrue(); assertThat(mFormStage.getPriority()).isEqualTo( TestEntityFixtures.getFormStageEntity().getPriority()); assertThat(mFormStage.getDeploymentId()) .isEqualTo(TestEntityFixtures.getFormStageEntity().getDeploymentId()); } @Test public void shouldMapFormStageEntityListToFormStageList() { List<FormStage> formStageList = null; List<FormStageEntity> formStageEntities = new ArrayList<>(); formStageEntities.add(TestEntityFixtures.getFormStageEntity()); formStageList = mFormStageEntityDataMapper.map(formStageEntities); assertThat(formStageList).isNotNull(); assertThat(formStageList).isNotEmpty(); assertThat(formStageList.get(0)).isNotNull(); assertThat(formStageList.get(0).getDeploymentId()).isNotNull(); assertThat(formStageList.get(0).getDeploymentId()).isEqualTo( TestEntityFixtures.getFormStageEntity().getDeploymentId()); assertThat(formStageList.get(0).getFormId()).isNotNull(); assertThat(formStageList.get(0).getFormId()) .isEqualTo(TestEntityFixtures.getFormStageEntity().getFormId()); assertThat(formStageList.get(0).getLabel()).isNotNull(); assertThat(formStageList.get(0).getLabel()) .isEqualTo(TestEntityFixtures.getFormStageEntity().getLabel()); assertThat(formStageList.get(0).getRequired()).isTrue(); assertThat(formStageList.get(0).getPriority()) .isEqualTo(TestEntityFixtures.getFormStageEntity().getPriority()); } }