@@ -298,9 +298,10 @@ class PermafrostViewTests(TestCase):
298298
299299 def setUp (self ):
300300 self .client = Client ()
301- self .pf_role = PermafrostRole .objects .create (category = "staff" , name = "Test Role" )
302- super_user = get_user_model ().objects .get (pk = 1 )
303- self .client .force_login (super_user )
301+ self .pf_role = PermafrostRole .objects .create (category = "staff" , name = "Test Role" , site = Site .objects .get_current ())
302+ PermafrostRole .objects .create (category = "staff" , name = "Test Role" , site = Site .objects .get (pk = 2 ))
303+ self .super_user = get_user_model ().objects .get (pk = 1 )
304+ self .client .force_login (self .super_user )
304305
305306 def test_permafrost_base_url_resolves (self ):
306307 found = resolve ("/permafrost/" )
@@ -505,6 +506,19 @@ def test_role_update_POST_updates_name(self):
505506 updated_role = PermafrostRole .objects .get (pk = self .pf_role .pk )
506507 self .assertEqual (updated_role .name , "Test Change" )
507508
509+ def test_role_update_POST_updates_when_no_values_are_changed (self ):
510+ uri = reverse ('permafrost:role-update' , kwargs = {'slug' : 'test-role' })
511+
512+ request = RequestFactory ().post (uri , data = {'name' : 'Test Role' }, follow = True )
513+
514+ request .user = self .super_user
515+ request .site = Site .objects .get (pk = 2 )
516+ response = PermafrostRoleUpdateView .as_view ()(request , slug = 'test-role' )
517+ response .client = self .client
518+ self .assertRedirects (response , '/permafrost/role/test-role/' )
519+ updated_role = PermafrostRole .objects .get (pk = self .pf_role .pk )
520+
521+
508522 def test_optional_permissions_are_updated_on_POST (self ):
509523 ## ensure role currently has no optional permissions
510524 allowed_optional_permission_ids = [permission .id for permission in self .pf_role .optional_permissions ()]
@@ -553,7 +567,6 @@ def test_optional_permissions_are_removed_when_empty_array_submitted_to_POST(sel
553567 response = self .client .post (uri , data = data , follow = True )
554568
555569 updated_permission_ids = [permission .id for permission in self .pf_role .permissions ().all () if permission .id in allowed_optional_permission_ids ]
556-
557570 try :
558571 self .assertEqual (updated_permission_ids , [])
559572 except :
@@ -571,11 +584,11 @@ def test_delete_role_POST(self):
571584 response = self .client .post (uri , data = data , follow = True )
572585
573586 try :
574- updated_role = PermafrostRole .objects .get (slug = self .pf_role .slug )
587+ updated_role = PermafrostRole .objects .get (slug = self .pf_role .slug , site__id = 1 )
575588 self .assertEqual (updated_role .deleted , True )
576589 except :
577590 print ("" )
578- print (model_to_dict (PermafrostRole .objects .get (slug = self .pf_role .slug )))
591+ print (model_to_dict (PermafrostRole .objects .get (slug = self .pf_role .slug , site__id = 1 )))
579592 print ("" )
580593 raise
581594
0 commit comments