/** * @see VisitService#saveVisit(Visit) */ @Test public void saveVisit_shouldVoidAnAttributeIfMaxOccursIs1AndSameAttributeTypeAlreadyExists() { executeDataSet(VISITS_ATTRIBUTES_XML); Visit visit = new Visit(new Patient(2), new VisitType(3), new Date()); visit.setAttribute(createVisitAttribute(new Date())); visit.setAttribute(createVisitAttribute(new Date(System.currentTimeMillis() - 1000000))); assertEquals(1, visit.getAttributes().size()); visit = visitService.saveVisit(visit); assertNotNull(visit.getId()); visit.setAttribute(createVisitAttribute("second visit")); assertEquals(2, visit.getAttributes().size()); VisitAttribute firstAttribute = (VisitAttribute) visit.getAttributes().toArray()[0]; assertTrue(firstAttribute.getVoided()); }
/** * @see org.openmrs.module.webservices.rest.web.resource.impl.DelegatingSubResource#doGetAll(java.lang.Object, * org.openmrs.module.webservices.rest.web.RequestContext) */ @Override public NeedsPaging<VisitAttribute> doGetAll(Visit parent, RequestContext context) throws ResponseException { if (context.getIncludeAll()) { List<VisitAttribute> attrs = new ArrayList<VisitAttribute>(); for (VisitAttribute visitAttribute : parent.getAttributes()) { attrs.add(visitAttribute); } return new NeedsPaging<VisitAttribute>(attrs, context); } return new NeedsPaging<VisitAttribute>((List<VisitAttribute>) parent.getActiveAttributes(), context); }
@Test public void shouldAddAnAttributeToAVisit() throws Exception { int before = service.getVisitByUuid(RestTestConstants1_9.VISIT_UUID).getAttributes().size(); String json = "{\"attributeType\":\"6770f6d6-7673-11e0-8f03-001e378eb67g\", \"value\":\"2012-08-25\"}"; handle(newPostRequest(getURI(), json)); int after = service.getVisitByUuid(RestTestConstants1_9.VISIT_UUID).getAttributes().size(); Assert.assertEquals(before + 1, after); }
final int originalActiveCount = attributes.size(); assertEquals(2, originalActiveCount); assertEquals(3, existingVisit.getAttributes().size());