package org.openlmis.core.model.repository; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.openlmis.core.LMISTestRunner; import org.openlmis.core.model.RegimeShortCode; import org.openlmis.core.model.Regimen; import org.robolectric.RuntimeEnvironment; import java.util.List; import roboguice.RoboGuice; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.Is.is; @RunWith(LMISTestRunner.class) public class RegimenRepositoryTest { private RegimenRepository repository; @Before public void setUp() throws Exception { repository = RoboGuice.getInjector(RuntimeEnvironment.application).getInstance(RegimenRepository.class); } @Test public void shouldQueryByNameSuccessful() throws Exception { Regimen regimen = new Regimen(); String regimeName = "regimeName"; regimen.setType(Regimen.RegimeType.Adults); regimen.setName(regimeName); repository.create(regimen); Regimen actualRegime = repository.getByNameAndCategory(regimeName, Regimen.RegimeType.Adults); assertThat(actualRegime.getName(), is(regimeName)); } @Test public void shouldListDefaultRegime() throws Exception { Regimen customRegime = new Regimen(); customRegime.setName("customName"); customRegime.setCustom(true); repository.create(customRegime); Regimen customRegime2 = new Regimen(); customRegime2.setName("default"); customRegime.setCustom(false); repository.create(customRegime2); List<Regimen> regimens = repository.listDefaultRegime(); assertThat(regimens.size(), is(19)); } @Test public void shouldListRegimeShortCode() throws Exception { List<RegimeShortCode> regimeShortCodes = repository.listRegimeShortCode(); assertThat(regimeShortCodes.size(), is(20)); assertThat(regimeShortCodes.get(0).getShortCode(), is("3TC 150mg")); assertThat(regimeShortCodes.get(19).getCode(), is("08S17")); } }