From 19c1fba943f8a03be258ba26c6efdf4953195342 Mon Sep 17 00:00:00 2001 From: Aditya Bhansali <adityab3@illinois.edu> Date: Thu, 5 Nov 2020 05:00:41 -0600 Subject: [PATCH] Added JUnit tests for PreRegisterPatientAction --- .../AddPreRegisterPatientActionTest.java | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 iTrust/test/edu/ncsu/csc/itrust/unit/action/AddPreRegisterPatientActionTest.java diff --git a/iTrust/test/edu/ncsu/csc/itrust/unit/action/AddPreRegisterPatientActionTest.java b/iTrust/test/edu/ncsu/csc/itrust/unit/action/AddPreRegisterPatientActionTest.java new file mode 100644 index 0000000..f7d9d1b --- /dev/null +++ b/iTrust/test/edu/ncsu/csc/itrust/unit/action/AddPreRegisterPatientActionTest.java @@ -0,0 +1,98 @@ +/** + * Tests for AddPatientAction + */ + +package edu.ncsu.csc.itrust.unit.action; + +import junit.framework.TestCase; +import edu.ncsu.csc.itrust.action.AddPreRegisteredPatientAction; +import edu.ncsu.csc.itrust.beans.PatientBean; +import edu.ncsu.csc.itrust.dao.DAOFactory; +import edu.ncsu.csc.itrust.dao.mysql.AuthDAO; +import edu.ncsu.csc.itrust.dao.mysql.PatientDAO; +import edu.ncsu.csc.itrust.unit.datagenerators.TestDataGenerator; +import edu.ncsu.csc.itrust.unit.testutils.TestDAOFactory; +import edu.ncsu.csc.itrust.exception.FormValidationException; +import edu.ncsu.csc.itrust.exception.ITrustException; +import edu.ncsu.csc.itrust.enums.Role; + + +public class AddPreRegisterPatientActionTest extends TestCase { + private DAOFactory factory = TestDAOFactory.getTestInstance(); + private PatientDAO patientDAO = TestDAOFactory.getTestInstance().getPatientDAO(); + private AuthDAO authDAO = TestDAOFactory.getTestInstance().getAuthDAO(); + private TestDataGenerator gen = new TestDataGenerator(); + private AddPreRegisteredPatientAction action; + +/** + * Sets up defaults + */ + @Override + protected void setUp() throws Exception { + gen.clearAllTables(); + action = new AddPreRegisteredPatientAction(factory, 0L); + } + + /** + * Test adding a patient with correct information. + */ + public void testPreRegisterPatientAction() throws Exception { + PatientBean p = new PatientBean(); + p.setFirstName("Jiminy"); + p.setLastName("Cricket"); + p.setEmail("make.awish@gmail.com"); + p.setPassword("password"); + p.setStreetAddress1("SA1"); + p.setStreetAddress2("SA2"); + p.setZip("12345"); + p.setCity("Champaign"); + p.setState("IL"); + p.setPhone("1234567890"); + p.setIcAddress1("ICA1"); + p.setIcAddress2("ICA2"); + p.setIcZip("54321"); + p.setIcCity("Urbana"); + p.setIcState("AK"); + p.setIcPhone("1122334455"); + + long mid = action.addPatient(p); + + PatientBean p2 = patientDAO.getPatient(mid); + assertEquals(p.getFirstName(), p2.getFirstName()); + assertEquals(p.getLastName(), p2.getLastName()); + assertEquals(p.getEmail(), p2.getEmail()); + assertEquals(p.getStreetAddress1(), p2.getStreetAddress1()); + assertEquals(p.getStreetAddress2(), p2.getStreetAddress2()); + assertEquals(p.getZip(), p2.getZip()); + assertEquals(p.getCity(), p2.getCity()); + assertEquals(p.getState(), p2.getState()); + assertEquals(p.getPhone(), p2.getPhone()); + assertEquals(p.getIcAddress1(), p2.getIcAddress1()); + assertEquals(p.getIcAddress2(), p2.getIcAddress2()); + assertEquals(p.getIcZip(), p2.getIcZip()); + assertEquals(p.getIcCity(), p2.getIcCity()); + assertEquals(p.getIcState(), p.getIcState()); + assertEquals(p.getIcPhone(), p.getIcPhone()); + + assertEquals(Role.PREREGISTEREDPATIENT, authDAO.getUserRole(mid)); + } + + /** + * Ensure that invalid emails are not allowed + */ + public void testPreRegisterPatientInvalidEmail() throws Exception { + PatientBean p = new PatientBean(); + p.setFirstName("Jiminy"); + p.setLastName("Cricket"); + p.setEmail("1234"); + p.setPassword("password"); + + // maybe not needed + try { + action.addPatient(p); + fail("Invalid email"); + } catch (FormValidationException e) { + + } + } +} -- GitLab