@Test public void shouldClearMillisecondsWhenUpdatingAnExistingObject() { Date dateWithMillisecond = new Date(567L); Date dateWithoutMillisecond = new Date(0L); Person person = personService.getPerson(1); person.setBirthdate(dateWithMillisecond); personService.savePerson(person); Context.flushSession(); assertThat(person.getBirthdate(), is(dateWithoutMillisecond)); }
@Test public void purgeObject_shouldDeleteTheObjectWithThePassedId() { List<Program> l = dao.getAllObjects(Program.class); assertEquals(2, l.size()); dao.purgeObject(2); Context.flushSession(); l = dao.getAllObjects(Program.class); assertEquals(1, l.size()); }
@Before public void setUp() throws Exception { // Temporary logger level changes to debug TRUNK-4212 LogManager.getLogger("org.hibernate.SQL").setLevel(Level.DEBUG); LogManager.getLogger("org.hibernate.type").setLevel(Level.TRACE); LogManager.getLogger("org.openmrs.api").setLevel(Level.DEBUG); LogManager.getLogger("org.openmrs.scheduler").setLevel(Level.DEBUG); log.debug("SchedulerServiceTest setup() start"); Context.flushSession(); Collection<TaskDefinition> tasks = Context.getSchedulerService().getRegisteredTasks(); for (TaskDefinition task : tasks) { Context.getSchedulerService().shutdownTask(task); Context.getSchedulerService().deleteTask(task.getId()); } Context.flushSession(); log.debug("SchedulerServiceTest setup() complete"); }
@Test public void shouldFailIfAnEditedOrderIsFlushed() { Encounter encounter = encounterService.getEncounter(3); assertFalse(encounter.getOrders().isEmpty()); encounter.getOrders().iterator().next().setInstructions("new"); expectedException.expect(APIException.class); expectedException.expectMessage(Matchers.is(Context.getMessageSourceService().getMessage("editing.fields.not.allowed", new Object[] { "[instructions]", Order.class.getSimpleName() }, null))); encounterService.saveEncounter(encounter); Context.flushSession(); }
@Test public void shouldClearMillisecondsWhenSavingANewObject() { Date dateWithMillisecond = new Date(567L); Date dateWithoutMillisecond = new Date(0L); Person person = new Person(); person.addName(new PersonName("Alice", null, "Paul")); person.setGender("F"); person.setBirthdate(dateWithMillisecond); personService.savePerson(person); Context.flushSession(); assertThat(person.getBirthdate(), is(dateWithoutMillisecond)); }
@Test public void shouldSaveOrderSet() { executeDataSet(ORDER_SET); Integer initialNumberOfOrderSets = orderSetService.getOrderSets(false).size(); OrderSet orderSet = orderSetBuilder(false, false); OrderSet orderSetObj = orderSetService.saveOrderSet(orderSet); Context.flushSession(); List<OrderSet> orderSets = orderSetService.getOrderSets(false); assertEquals("A new order set was saved to the exisiting list of order sets", initialNumberOfOrderSets + 1, orderSets.size()); assertNotNull("OrderSet has a order_set_id", orderSetObj.getId()); }
@Test public void shouldDeleteAnOrderSetMemberInAnOrderSet() { executeDataSet(ORDER_SET); OrderSet orderSet = orderSetService.getOrderSet(2001); int initialCountOfMembers = orderSet.getOrderSetMembers().size(); OrderSetMember orderSetMember = orderSet.getOrderSetMembers().get(0); //Removing an orderSetMember in an existing list of orderSetMembers orderSet.removeOrderSetMember(orderSetMember); orderSetService.saveOrderSet(orderSet); Context.flushSession(); OrderSet savedOrderSet = orderSetService.getOrderSetByUuid(orderSet.getUuid()); assertEquals("Count of orderSetMembers changes after removing a member from the orderSet", initialCountOfMembers-1, savedOrderSet.getOrderSetMembers().size()); }
@Test public void shouldFetchUnRetiredOrderSetMembers() { executeDataSet(ORDER_SET); OrderSet orderSet = orderSetService.getOrderSet(2000); int initialCountOfMembers = orderSet.getOrderSetMembers().size(); OrderSetMember orderSetMember = orderSet.getOrderSetMembers().get(0); //Retiring an orderSetMember in an existing list of orderSetMembers orderSet.retireOrderSetMember(orderSetMember); orderSetService.saveOrderSet(orderSet); Context.flushSession(); OrderSet savedOrderSet = orderSetService.getOrderSetByUuid(orderSet.getUuid()); assertEquals("Count of orderSetMembers are not changed if we get all members", initialCountOfMembers, savedOrderSet.getOrderSetMembers().size()); //Fetching the unRetired members int finalSize = savedOrderSet.getUnRetiredOrderSetMembers().size(); assertEquals("Count of orderSetMembers gets modified if we filter out the retired members", initialCountOfMembers-1, finalSize); }
@Test public void shouldRetireOrderSetAndOrderSetMembersAsWell() { executeDataSet(ORDER_SET); int initialNumberOfOrderSets = orderSetService.getOrderSets(false).size(); OrderSet orderSet = orderSetService.getOrderSet(2001); orderSetService.retireOrderSet(orderSet, "Testing"); Context.flushSession(); int numberOfOrderSetsAfterRetire = orderSetService.getOrderSets(false).size(); assertEquals(initialNumberOfOrderSets-1,numberOfOrderSetsAfterRetire); OrderSet retiredOrderSet = orderSetService.getOrderSet(2001); assertEquals(true, retiredOrderSet.getRetired()); List<OrderSetMember> orderSetMembers = retiredOrderSet.getOrderSetMembers(); for (OrderSetMember orderSetMember : orderSetMembers) { assertTrue(orderSetMember.getRetired()); } }
/** * @see VisitService#saveVisit(Visit) */ @Test(expected = TransientObjectException.class) public void saveVisit_shouldNotPersistNewEncounter() { Visit visit = visitService.getVisit(1); Encounter encounter = new Encounter(); encounter.setEncounterDatetime(new Date()); encounter.setEncounterType(Context.getEncounterService().getEncounterType(1)); encounter.setPatient(visit.getPatient()); encounter.setLocation(visit.getLocation()); visit.addEncounter(encounter); visitService.saveVisit(visit); Context.flushSession(); }
/** * @see OrderService#updateOrderFulfillerStatus(org.openmrs.Order, Order.FulfillerStatus, String) */ @Test public void updateOrderFulfillerStatus_shouldEditFulfillerStatusInOrder() { Order originalOrder = orderService.getOrder(111); String commentText = "We got the new order"; assertNotEquals(originalOrder.getFulfillerStatus(), Order.FulfillerStatus.IN_PROGRESS); orderService.updateOrderFulfillerStatus(originalOrder, Order.FulfillerStatus.IN_PROGRESS, commentText); Context.flushSession(); Order updatedOrder = orderService.getOrder(111); assertEquals(updatedOrder.getFulfillerStatus(), Order.FulfillerStatus.IN_PROGRESS); assertEquals(updatedOrder.getFulfillerComment(), commentText); }
/** * @see ConceptService#saveConceptNameTag(Object,Errors) */ @Test public void saveConceptNameTag_shouldSaveAnEditedNameTag() { ConceptService cs = Context.getConceptService(); ConceptNameTag cnt = cs.getConceptNameTag(1); cnt.setTag("dcba"); Integer id = cs.saveConceptNameTag(cnt).getId(); Context.flushSession(); Context.clearSession(); ConceptNameTag savedNameTag = cs.getConceptNameTag(id); assertEquals(savedNameTag.getTag(), "dcba"); }
@Test public void purgeCohortMembership_shouldRemoveMembershipFromCohort() { executeDataSet(COHORT_XML); CohortMembership toPurge = service.getCohortMembershipByUuid("v9a9m5i6-17e6-407c-9d4v-hbi8teu9lf0f"); Cohort owner = toPurge.getCohort(); service.purgeCohortMembership(toPurge); Context.flushSession(); assertNull(service.getCohortMembershipByUuid("v9a9m5i6-17e6-407c-9d4v-hbi8teu9lf0f")); assertFalse(service.getCohort(owner.getId()).contains(toPurge.getPatientId())); }
@Test public void saveEncounter_shouldSaveEncounterWithComplexObs() { executeDataSet(ENC_OBS_HIERARCHY_DATA_XML); EncounterService es = Context.getEncounterService(); Encounter encounter = es.getEncounter(101); Obs observation = buildObs(); observation.setLocation(encounter.getLocation()); observation.setPerson(encounter.getPatient()); encounter.addObs(observation); es.saveEncounter(encounter); Context.flushSession(); Context.clearSession(); encounter = es.getEncounter(101); assertEquals(2, encounter.getObsAtTopLevel(true).size()); }
/** * @see OrderService#saveOrderType(org.openmrs.OrderType) */ @Test public void saveOrderType_shouldEditAnExistingOrderType() { OrderType orderType = orderService.getOrderType(1); assertNull(orderType.getDateChanged()); assertNull(orderType.getChangedBy()); final String newDescription = "new"; orderType.setDescription(newDescription); orderService.saveOrderType(orderType); Context.flushSession(); assertNotNull(orderType.getDateChanged()); assertNotNull(orderType.getChangedBy()); }
@Test public void shouldDiscontinueAnActiveOrderAndFlushSuccessfully() { executeDataSet(ORDER_ENTRY_DATASET_XML); executeDataSet("org/openmrs/api/include/OrderServiceTest-discontinueReason.xml"); Order firstOrderToDiscontinue = orderService.getOrder(3); Encounter encounter = encounterService.getEncounter(3); assertTrue(OrderUtilTest.isActiveOrder(firstOrderToDiscontinue, null)); Concept discontinueReason = Context.getConceptService().getConcept(1); Provider orderer = providerService.getProvider(1); Order discontinuationOrder1 = orderService.discontinueOrder(firstOrderToDiscontinue, discontinueReason, null, orderer, encounter); Context.flushSession(); assertEquals(firstOrderToDiscontinue, discontinuationOrder1.getPreviousOrder()); }
@Test public void onSave_shouldPopulatePersonChangedByandPersonDateChangedIfPersonAlreadyExists() { Person person = Context.getPersonService().getPerson(1); Assert.assertNull(person.getPersonChangedBy()); Assert.assertNull(person.getPersonDateChanged()); person.setGender("F"); Context.flushSession(); Context.getPersonService().savePerson(person); Assert.assertNotNull(person.getPersonChangedBy()); Assert.assertNotNull(person.getPersonDateChanged()); }
/** * @see ConceptService#saveConceptNameTag(Object,Errors) */ @Test public void saveConceptNameTag_shouldSaveATagIfItIsSupplied() { ConceptNameTag cnt = new ConceptNameTag(); cnt.setTag("abcd"); cnt.setDescription("test"); ConceptService cs = Context.getConceptService(); Integer id = cs.saveConceptNameTag(cnt).getId(); Context.flushSession(); Context.clearSession(); ConceptNameTag savedNameTag = cs.getConceptNameTag(id); assertEquals(savedNameTag.getTag(), "abcd"); assertEquals(savedNameTag.getDescription(), "test"); }
/** * @see OrderService#voidOrder(org.openmrs.Order, String) */ @Test public void voidOrder_shouldUnsetDateStoppedOfThePreviousOrderIfTheSpecifiedOrderIsARevision() { Order order = orderService.getOrder(111); assertEquals(Action.REVISE, order.getAction()); Order previousOrder = order.getPreviousOrder(); assertNotNull(previousOrder.getDateStopped()); assertFalse(order.getVoided()); orderService.voidOrder(order, "None"); Context.flushSession(); assertTrue(order.getVoided()); assertNull(previousOrder.getDateStopped()); }
/** * @see OrderService#voidOrder(org.openmrs.Order, String) */ @Test public void voidOrder_shouldUnsetDateStoppedOfThePreviousOrderIfTheSpecifiedOrderIsADiscontinuation() { Order order = orderService.getOrder(22); assertEquals(Action.DISCONTINUE, order.getAction()); Order previousOrder = order.getPreviousOrder(); assertNotNull(previousOrder.getDateStopped()); assertFalse(order.getVoided()); orderService.voidOrder(order, "None"); //Ensures order interceptor is okay with all the changes Context.flushSession(); assertTrue(order.getVoided()); assertNull(previousOrder.getDateStopped()); }