def test_can_save(self): # Students cannot save exhibitions student = Exhibition(author=self.user, title='New Exhibition', description='description goes here', released_at=timezone.now()) self.assertFalse(student.can_save(self.user)) self.assertTrue(student.can_save(self.staff_user)) self.assertTrue(student.can_save(self.super_user)) staff = Exhibition(author=self.staff_user, title='New Exhibition', description='description goes here', released_at=timezone.now()) self.assertFalse(staff.can_save(self.user)) self.assertTrue(staff.can_save(self.staff_user)) self.assertTrue(staff.can_save(self.super_user)) superuser = Exhibition(author=self.super_user, title='New Exhibition', description='description goes here', released_at=timezone.now()) self.assertFalse(superuser.can_save(self.user)) self.assertTrue(superuser.can_save(self.staff_user)) self.assertTrue(superuser.can_save(self.super_user))
def test_can_save_non_default_cohort(self): # Students cannot save exhibitions exhibition_cohort2 = Exhibition(title='New Exhibition', description='description goes here', cohort=self.cohort2) self.assertFalse(exhibition_cohort2.can_save(self.no_cohort_user)) self.assertFalse(exhibition_cohort2.can_save(self.cohort1_user)) self.assertFalse(exhibition_cohort2.can_save(self.cohort2_user)) # Staff members can save all exhibitions self.no_cohort_user.is_staff = True self.cohort1_user.is_staff = True self.cohort2_user.is_staff = True self.assertTrue(exhibition_cohort2.can_save(self.no_cohort_user)) self.assertTrue(exhibition_cohort2.can_save(self.cohort1_user)) self.assertTrue(exhibition_cohort2.can_save(self.cohort2_user)) self.no_cohort_user.is_staff = False self.cohort1_user.is_staff = False self.cohort2_user.is_staff = False self.no_cohort_user.is_superuser = True self.cohort1_user.is_superuser = True self.cohort2_user.is_superuser = True self.assertTrue(exhibition_cohort2.can_save(self.no_cohort_user)) self.assertTrue(exhibition_cohort2.can_save(self.cohort1_user)) self.assertTrue(exhibition_cohort2.can_save(self.cohort2_user))
def test_can_save(self): # Staff & super users can save all exhibitions exhibition_all = Exhibition( title='New Exhibition', description='description goes here', ) self.assertFalse(exhibition_all.can_save(self.no_cohort_user)) self.assertFalse(exhibition_all.can_save(self.cohort1_user)) self.assertFalse(exhibition_all.can_save(self.cohort2_user)) self.no_cohort_user.is_staff = True self.cohort1_user.is_staff = True self.cohort2_user.is_staff = True self.assertTrue(exhibition_all.can_save(self.no_cohort_user)) self.assertTrue(exhibition_all.can_save(self.cohort1_user)) self.assertTrue(exhibition_all.can_save(self.cohort2_user)) self.no_cohort_user.is_staff = False self.cohort1_user.is_staff = False self.cohort2_user.is_staff = False self.no_cohort_user.is_superuser = True self.cohort1_user.is_superuser = True self.cohort2_user.is_superuser = True self.assertTrue(exhibition_all.can_save(self.no_cohort_user)) self.assertTrue(exhibition_all.can_save(self.cohort1_user)) self.assertTrue(exhibition_all.can_save(self.cohort2_user))
def test_can_save(self): # Students cannot save exhibitions student = Exhibition( author=self.user, title='New Exhibition', description='description goes here', released_at=timezone.now()) self.assertFalse(student.can_save(self.user)) self.assertTrue(student.can_save(self.staff_user)) self.assertTrue(student.can_save(self.super_user)) staff = Exhibition( author=self.staff_user, title='New Exhibition', description='description goes here', released_at=timezone.now()) self.assertFalse(staff.can_save(self.user)) self.assertTrue(staff.can_save(self.staff_user)) self.assertTrue(staff.can_save(self.super_user)) superuser = Exhibition( author=self.super_user, title='New Exhibition', description='description goes here', released_at=timezone.now()) self.assertFalse(superuser.can_save(self.user)) self.assertTrue(superuser.can_save(self.staff_user)) self.assertTrue(superuser.can_save(self.super_user))
def test_can_save_non_default_cohort(self): # Students cannot save exhibitions exhibition_cohort2 = Exhibition( title='New Exhibition', description='description goes here', cohort=self.cohort2) self.assertFalse(exhibition_cohort2.can_save(self.no_cohort_user)) self.assertFalse(exhibition_cohort2.can_save(self.cohort1_user)) self.assertFalse(exhibition_cohort2.can_save(self.cohort2_user)) # Staff members can save all exhibitions self.no_cohort_user.is_staff = True self.cohort1_user.is_staff = True self.cohort2_user.is_staff = True self.assertTrue(exhibition_cohort2.can_save(self.no_cohort_user)) self.assertTrue(exhibition_cohort2.can_save(self.cohort1_user)) self.assertTrue(exhibition_cohort2.can_save(self.cohort2_user)) self.no_cohort_user.is_staff = False self.cohort1_user.is_staff = False self.cohort2_user.is_staff = False self.no_cohort_user.is_superuser = True self.cohort1_user.is_superuser = True self.cohort2_user.is_superuser = True self.assertTrue(exhibition_cohort2.can_save(self.no_cohort_user)) self.assertTrue(exhibition_cohort2.can_save(self.cohort1_user)) self.assertTrue(exhibition_cohort2.can_save(self.cohort2_user))