From 5ea5d72950257dafcc620b3c1bf98c9a4de14f12 Mon Sep 17 00:00:00 2001
From: Matthew Williams <mattwilliams1515@gmail.com>
Date: Wed, 25 Nov 2020 19:28:14 -0600
Subject: [PATCH] Create action tests, create deactivate tests

---
 .../action/ActivatePatientActionTest.java     | 38 ++++++++++++++++
 .../action/DeactivatePatientActionTest.java   | 41 ++++++++++++++++++
 .../unit/dao/patient/ActivatePatientTest.java |  9 ----
 .../dao/patient/DeactivatePatientTest.java    | 43 +++++++++++++++++++
 4 files changed, 122 insertions(+), 9 deletions(-)
 create mode 100644 iTrust/test/edu/ncsu/csc/itrust/unit/action/ActivatePatientActionTest.java
 create mode 100644 iTrust/test/edu/ncsu/csc/itrust/unit/action/DeactivatePatientActionTest.java
 create mode 100644 iTrust/test/edu/ncsu/csc/itrust/unit/dao/patient/DeactivatePatientTest.java

diff --git a/iTrust/test/edu/ncsu/csc/itrust/unit/action/ActivatePatientActionTest.java b/iTrust/test/edu/ncsu/csc/itrust/unit/action/ActivatePatientActionTest.java
new file mode 100644
index 0000000..90ae3c7
--- /dev/null
+++ b/iTrust/test/edu/ncsu/csc/itrust/unit/action/ActivatePatientActionTest.java
@@ -0,0 +1,38 @@
+package edu.ncsu.csc.itrust.unit.action;
+
+import edu.ncsu.csc.itrust.action.EditPatientAction;
+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 junit.framework.TestCase;
+
+public class ActivatePatientActionTest extends TestCase {
+
+    private TestDataGenerator gen = new TestDataGenerator();
+    private PatientDAO patientDAO = TestDAOFactory.getTestInstance().getPatientDAO();
+
+    @Override
+    protected void setUp() throws Exception {
+        gen.clearAllTables();
+        gen.patient92();
+        gen.patient4();
+    }
+
+    public void testActivateAlreadyActivated() throws Exception {
+        long pid = 4;
+        assertEquals("patient", patientDAO.getRole(pid));
+        EditPatientAction action = new EditPatientAction(TestDAOFactory.getTestInstance(), pid, Long.toString(pid));
+        action.activate();
+        assertEquals("patient", patientDAO.getRole(pid));
+        assertEquals("", patientDAO.getPatient(pid).getDateOfDeactivationStr());
+    }
+
+    public void testActivatePreregisteredPatient() throws Exception {
+        long pid = 92;
+        assertEquals("preRegisteredPatient", patientDAO.getRole(pid));
+        EditPatientAction action = new EditPatientAction(TestDAOFactory.getTestInstance(), pid, Long.toString(pid));
+        action.activate();
+        assertEquals("patient", patientDAO.getRole(pid));
+        assertEquals("", patientDAO.getPatient(pid).getDateOfDeactivationStr());
+    }
+}
diff --git a/iTrust/test/edu/ncsu/csc/itrust/unit/action/DeactivatePatientActionTest.java b/iTrust/test/edu/ncsu/csc/itrust/unit/action/DeactivatePatientActionTest.java
new file mode 100644
index 0000000..dd3fcca
--- /dev/null
+++ b/iTrust/test/edu/ncsu/csc/itrust/unit/action/DeactivatePatientActionTest.java
@@ -0,0 +1,41 @@
+package edu.ncsu.csc.itrust.unit.action;
+
+import edu.ncsu.csc.itrust.action.EditPatientAction;
+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 junit.framework.TestCase;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+
+public class DeactivatePatientActionTest extends TestCase {
+
+    private TestDataGenerator gen = new TestDataGenerator();
+    private PatientDAO patientDAO = TestDAOFactory.getTestInstance().getPatientDAO();
+
+    @Override
+    protected void setUp() throws Exception {
+        gen.clearAllTables();
+        gen.patient92();
+        gen.patient4();
+    }
+
+    public void testDeactivateActivatedPatient() throws Exception {
+        long pid = 4;
+        assertEquals("patient", patientDAO.getRole(pid));
+        EditPatientAction action = new EditPatientAction(TestDAOFactory.getTestInstance(), pid, Long.toString(pid));
+        action.deactivate();
+        assertEquals("deactivatedPatient", patientDAO.getRole(pid));
+        assertEquals(new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()), patientDAO.getPatient(pid).getDateOfDeactivationStr());
+    }
+
+    public void testDeactivatePreregisteredPatient() throws Exception {
+        long pid = 92;
+        assertEquals("preRegisteredPatient", patientDAO.getRole(pid));
+        EditPatientAction action = new EditPatientAction(TestDAOFactory.getTestInstance(), pid, Long.toString(pid));
+        action.deactivate();
+        assertEquals("deactivatedPatient", patientDAO.getRole(pid));
+        assertEquals(new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()), patientDAO.getPatient(pid).getDateOfDeactivationStr());
+    }
+}
diff --git a/iTrust/test/edu/ncsu/csc/itrust/unit/dao/patient/ActivatePatientTest.java b/iTrust/test/edu/ncsu/csc/itrust/unit/dao/patient/ActivatePatientTest.java
index f2d6e45..2b970a8 100644
--- a/iTrust/test/edu/ncsu/csc/itrust/unit/dao/patient/ActivatePatientTest.java
+++ b/iTrust/test/edu/ncsu/csc/itrust/unit/dao/patient/ActivatePatientTest.java
@@ -31,13 +31,4 @@ public class ActivatePatientTest extends TestCase {
 		action.activate();
 		assertEquals("patient", patientDAO.getRole(pid));
 	}
-
-	public void testActivateAlreadyActivated() throws Exception {
-		long pid = 4;
-		assertEquals("patient", patientDAO.getRole(pid));
-		EditPatientAction action = new EditPatientAction(TestDAOFactory.getTestInstance(), pid, Long.toString(pid));
-		action.activate();
-		assertEquals("patient", patientDAO.getRole(pid));
-		assertEquals("", patientDAO.getPatient(pid).getDateOfDeactivationStr());
-	}
 }
diff --git a/iTrust/test/edu/ncsu/csc/itrust/unit/dao/patient/DeactivatePatientTest.java b/iTrust/test/edu/ncsu/csc/itrust/unit/dao/patient/DeactivatePatientTest.java
new file mode 100644
index 0000000..190d8be
--- /dev/null
+++ b/iTrust/test/edu/ncsu/csc/itrust/unit/dao/patient/DeactivatePatientTest.java
@@ -0,0 +1,43 @@
+package edu.ncsu.csc.itrust.unit.dao.patient;
+
+import edu.ncsu.csc.itrust.action.EditPatientAction;
+import junit.framework.TestCase;
+import edu.ncsu.csc.itrust.dao.mysql.PatientDAO;
+import edu.ncsu.csc.itrust.unit.datagenerators.TestDataGenerator;
+import edu.ncsu.csc.itrust.unit.testutils.TestDAOFactory;
+
+public class DeactivatePatientTest extends TestCase {
+
+    private TestDataGenerator gen = new TestDataGenerator();
+    private PatientDAO patientDAO = TestDAOFactory.getTestInstance().getPatientDAO();
+
+    @Override
+    protected void setUp() throws Exception {
+        gen.clearAllTables();
+        gen.patient92();
+        gen.patient4();
+    }
+
+    public void testDeactivateActivatedPatient() throws Exception {
+        long pid = 4;
+        assertEquals("patient", patientDAO.getRole(pid));
+        patientDAO.deactivatePatient(pid);
+        assertEquals("deactivatedPatient", patientDAO.getRole(pid));
+    }
+
+    public void testDeactivatePreregisteredPatient() throws Exception {
+        long pid = 92;
+        assertEquals("preRegisteredPatient", patientDAO.getRole(pid));
+        patientDAO.deactivatePatient(pid);
+        assertEquals("deactivatedPatient", patientDAO.getRole(pid));
+    }
+
+    public void testDeactivateThenActivatePatient() throws Exception {
+        long pid = 92;
+        assertEquals("preRegisteredPatient", patientDAO.getRole(pid));
+        patientDAO.ConvertPreRegisteredPatientsToPatient(pid);
+        assertEquals("patient", patientDAO.getRole(pid));
+        patientDAO.deactivatePatient(pid);
+        assertEquals("deactivatedPatient", patientDAO.getRole(pid));
+    }
+}
-- 
GitLab