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 0000000000000000000000000000000000000000..90ae3c7f758eb8b9c30d15ab44b310a9e8e49f35
--- /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 0000000000000000000000000000000000000000..dd3fcca44e7be8ddca2fe07be745b1a9ad4c2324
--- /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 f2d6e45596761727bee796a67f997a4cc70d6f2a..2b970a88451cf1bd711e36b755bd7d2bde72d246 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 0000000000000000000000000000000000000000..190d8be201c196fb921ac773cbd77f6d8591d02b
--- /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));
+    }
+}