Commit c6d6698a by Miles Steele

change MockEnrollmentState to SettableFakeEnrollmentState

parent f488aa05
...@@ -15,16 +15,16 @@ from instructor.enrollment import (EmailEnrollmentState, ...@@ -15,16 +15,16 @@ from instructor.enrollment import (EmailEnrollmentState,
reset_student_attempts) reset_student_attempts)
class TestMockEnrollmentState(TestCase): class TestSettableEnrollmentState(TestCase):
""" Test the basis class for enrollment tests. """ """ Test the basis class for enrollment tests. """
def setUp(self): def setUp(self):
self.course_id = 'robot:/a/fake/c::rse/id' self.course_id = 'robot:/a/fake/c::rse/id'
def test_mes_create(self): def test_mes_create(self):
""" """
Test MockEnrollmentState creation of user. Test SettableEnrollmentState creation of user.
""" """
mes = MockEnrollmentState( mes = SettableEnrollmentState(
user=True, user=True,
enrollment=True, enrollment=True,
allowed=False, allowed=False,
...@@ -53,7 +53,7 @@ class TestEnrollmentChangeBase(TestCase): ...@@ -53,7 +53,7 @@ class TestEnrollmentChangeBase(TestCase):
""" """
Runs a state change test. Runs a state change test.
`before_ideal` and `after_ideal` are MockEnrollmentState's `before_ideal` and `after_ideal` are SettableEnrollmentState's
`action` is a function which will be run in the middle. `action` is a function which will be run in the middle.
`action` should transition the world from before_ideal to after_ideal `action` should transition the world from before_ideal to after_ideal
`action` will be supplied the following arguments (None-able arguments) `action` will be supplied the following arguments (None-able arguments)
...@@ -81,14 +81,14 @@ class TestEnrollmentChangeBase(TestCase): ...@@ -81,14 +81,14 @@ class TestEnrollmentChangeBase(TestCase):
class TestInstructorEnrollDB(TestEnrollmentChangeBase): class TestInstructorEnrollDB(TestEnrollmentChangeBase):
""" Test instructor.enrollment.enroll_email """ """ Test instructor.enrollment.enroll_email """
def test_enroll(self): def test_enroll(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=True, user=True,
enrollment=False, enrollment=False,
allowed=False, allowed=False,
auto_enroll=False auto_enroll=False
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=True, user=True,
enrollment=True, enrollment=True,
allowed=False, allowed=False,
...@@ -101,14 +101,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase): ...@@ -101,14 +101,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase):
return self._run_state_change_test(before_ideal, after_ideal, action) return self._run_state_change_test(before_ideal, after_ideal, action)
def test_enroll_again(self): def test_enroll_again(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=True, user=True,
enrollment=True, enrollment=True,
allowed=False, allowed=False,
auto_enroll=False, auto_enroll=False,
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=True, user=True,
enrollment=True, enrollment=True,
allowed=False, allowed=False,
...@@ -121,14 +121,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase): ...@@ -121,14 +121,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase):
return self._run_state_change_test(before_ideal, after_ideal, action) return self._run_state_change_test(before_ideal, after_ideal, action)
def test_enroll_nouser(self): def test_enroll_nouser(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=False, allowed=False,
auto_enroll=False, auto_enroll=False,
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=True, allowed=True,
...@@ -141,14 +141,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase): ...@@ -141,14 +141,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase):
return self._run_state_change_test(before_ideal, after_ideal, action) return self._run_state_change_test(before_ideal, after_ideal, action)
def test_enroll_nouser_again(self): def test_enroll_nouser_again(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=True, allowed=True,
auto_enroll=False auto_enroll=False
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=True, allowed=True,
...@@ -161,14 +161,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase): ...@@ -161,14 +161,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase):
return self._run_state_change_test(before_ideal, after_ideal, action) return self._run_state_change_test(before_ideal, after_ideal, action)
def test_enroll_nouser_autoenroll(self): def test_enroll_nouser_autoenroll(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=False, allowed=False,
auto_enroll=False, auto_enroll=False,
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=True, allowed=True,
...@@ -181,14 +181,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase): ...@@ -181,14 +181,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase):
return self._run_state_change_test(before_ideal, after_ideal, action) return self._run_state_change_test(before_ideal, after_ideal, action)
def test_enroll_nouser_change_autoenroll(self): def test_enroll_nouser_change_autoenroll(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=True, allowed=True,
auto_enroll=True, auto_enroll=True,
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=True, allowed=True,
...@@ -204,14 +204,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase): ...@@ -204,14 +204,14 @@ class TestInstructorEnrollDB(TestEnrollmentChangeBase):
class TestInstructorUnenrollDB(TestEnrollmentChangeBase): class TestInstructorUnenrollDB(TestEnrollmentChangeBase):
""" Test instructor.enrollment.unenroll_email """ """ Test instructor.enrollment.unenroll_email """
def test_unenroll(self): def test_unenroll(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=True, user=True,
enrollment=True, enrollment=True,
allowed=False, allowed=False,
auto_enroll=False auto_enroll=False
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=True, user=True,
enrollment=False, enrollment=False,
allowed=False, allowed=False,
...@@ -224,14 +224,14 @@ class TestInstructorUnenrollDB(TestEnrollmentChangeBase): ...@@ -224,14 +224,14 @@ class TestInstructorUnenrollDB(TestEnrollmentChangeBase):
return self._run_state_change_test(before_ideal, after_ideal, action) return self._run_state_change_test(before_ideal, after_ideal, action)
def test_unenroll_notenrolled(self): def test_unenroll_notenrolled(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=True, user=True,
enrollment=False, enrollment=False,
allowed=False, allowed=False,
auto_enroll=False auto_enroll=False
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=True, user=True,
enrollment=False, enrollment=False,
allowed=False, allowed=False,
...@@ -244,14 +244,14 @@ class TestInstructorUnenrollDB(TestEnrollmentChangeBase): ...@@ -244,14 +244,14 @@ class TestInstructorUnenrollDB(TestEnrollmentChangeBase):
return self._run_state_change_test(before_ideal, after_ideal, action) return self._run_state_change_test(before_ideal, after_ideal, action)
def test_unenroll_disallow(self): def test_unenroll_disallow(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=True, allowed=True,
auto_enroll=True auto_enroll=True
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=False, allowed=False,
...@@ -264,14 +264,14 @@ class TestInstructorUnenrollDB(TestEnrollmentChangeBase): ...@@ -264,14 +264,14 @@ class TestInstructorUnenrollDB(TestEnrollmentChangeBase):
return self._run_state_change_test(before_ideal, after_ideal, action) return self._run_state_change_test(before_ideal, after_ideal, action)
def test_unenroll_norecord(self): def test_unenroll_norecord(self):
before_ideal = MockEnrollmentState( before_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=False, allowed=False,
auto_enroll=False auto_enroll=False
) )
after_ideal = MockEnrollmentState( after_ideal = SettableEnrollmentState(
user=False, user=False,
enrollment=False, enrollment=False,
allowed=False, allowed=False,
...@@ -310,10 +310,13 @@ class TestInstructorEnrollmentStudentModule(TestCase): ...@@ -310,10 +310,13 @@ class TestInstructorEnrollmentStudentModule(TestCase):
self.assertEqual(StudentModule.objects.filter(student=user, course_id=self.course_id, module_state_key=msk).count(), 0) self.assertEqual(StudentModule.objects.filter(student=user, course_id=self.course_id, module_state_key=msk).count(), 0)
class MockEnrollmentState(EmailEnrollmentState): class SettableEnrollmentState(EmailEnrollmentState):
""" """
Settable enrollment state. Settable enrollment state.
Used for tests Used for testing state changes.
SettableEnrollmentState can be constructed and then
a call to create_user will make objects which
correspond to the state represented in the SettableEnrollmentState.
""" """
def __init__(self, user=False, enrollment=False, allowed=False, auto_enroll=False): def __init__(self, user=False, enrollment=False, allowed=False, auto_enroll=False):
self.user = user self.user = user
...@@ -330,7 +333,7 @@ class MockEnrollmentState(EmailEnrollmentState): ...@@ -330,7 +333,7 @@ class MockEnrollmentState(EmailEnrollmentState):
def create_user(self, course_id=None): def create_user(self, course_id=None):
""" """
Utility method to possibly create and possibly enroll a user. Utility method to possibly create and possibly enroll a user.
Creates a state matching the MockEnrollmentState properties. Creates a state matching the SettableEnrollmentState properties.
Returns a tuple of ( Returns a tuple of (
email, email,
User, (optionally None) User, (optionally None)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment