Skip to content

Instantly share code, notes, and snippets.

@mks-d
Created November 16, 2020 14:33
Show Gist options
  • Save mks-d/cd110820225cddcb1b851ec9bfe2c9d5 to your computer and use it in GitHub Desktop.
Save mks-d/cd110820225cddcb1b851ec9bfe2c9d5 to your computer and use it in GitHub Desktop.
api-tests/src/test/java/org/openmrs/module/htmlformentry/EncounterDateTagTest.java
package org.openmrs.module.htmlformentry;
import static java.util.Calendar.MILLISECOND;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import java.util.TimeZone;
import org.junit.Assert;
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
public class EncounterDateTagTest extends BaseHtmlFormEntryTest {
@Test
public void testSubmitEncounterDatetimeWithTimeZone() throws Exception {
new RegressionTestHelper() {
@Override
public String getFormName() {
return "";
}
@Override
public String getFormXml() {
return "<htmlform> Datetime: <encounterDate showTime=\"true\" /> </htmlform>";
}
@Override
public String[] widgetLabels() {
return new String[] { "Datetime" };
}
@Override
public void setupRequest(MockHttpServletRequest request, Map<String, String> widgets) {
request.setParameter(widgets.get("Datetime"), "2020-11-16");
request.setParameter("w1hours", "7");
request.setParameter("w1minutes", "25");
request.setParameter("w1seconds", "58");
request.setParameter("w1timeZone", "Pacific/Kiritimati");
}
@Override
public void testResults(SubmissionResults results) {
Calendar cal = Calendar.getInstance();
cal.set(2020, 11 - 1, 16, 7, 25, 58);
cal.set(MILLISECOND, 0);
cal.setTimeZone(TimeZone.getTimeZone("Pacific/Kiritimati"));
Date expectedDateTime = cal.getTime();
Date encounterDateTime = results.getEncounterCreated().getEncounterDatetime();
Assert.assertEquals(expectedDateTime, encounterDateTime);
}
}.run();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment