def test_staff_remove_calls_get_by_username(User): User.staff_members.return_value = [ Mock(username="******"), Mock(username="******"), Mock(username="******") ] request = DummyRequest(params={"remove": "fred"}) views.staff_remove(request) User.get_by_username.assert_called_once_with("fred")
def test_staff_remove_sets_staff_to_False(User): User.staff_members.return_value = [ Mock(username="******"), Mock(username="******"), Mock(username="******") ] request = DummyRequest(params={"remove": "fred"}) user = Mock(staff=True) User.get_by_username.return_value = user views.staff_remove(request) assert user.staff is False
def test_remove_redirects_to_index_when_user_not_found(self): request = DummyRequest(params={"remove": "florp"}) result = views.staff_remove(request) assert isinstance(result, httpexceptions.HTTPSeeOther) assert result.location == '/adm/staff'
def test_remove_redirects_to_index(self, pyramid_request): pyramid_request.params = {"remove": "acct:[email protected]"} result = views.staff_remove(pyramid_request) assert isinstance(result, httpexceptions.HTTPSeeOther) assert result.location == '/adm/staff'
def test_remove_redirects_to_index_when_user_not_found(self, pyramid_request): pyramid_request.params = {"remove": "acct:[email protected]"} result = views.staff_remove(pyramid_request) assert isinstance(result, httpexceptions.HTTPSeeOther) assert result.location == '/adm/staff'
def test_staff_remove_returns_redirect_on_success(User): User.staff_members.return_value = [ Mock(username="******"), Mock(username="******"), Mock(username="******") ] request = DummyRequest(params={"remove": "fred"}) response = views.staff_remove(request) assert isinstance(response, httpexceptions.HTTPSeeOther)
def test_remove_is_idempotent(self, users): request = DummyRequest(params={"remove": "eva"}) views.staff_remove(request) assert not users['eva'].staff
def test_remove_makes_users_not_staff(self, users): request = DummyRequest(params={"remove": "cristof"}) views.staff_remove(request) assert not users['cristof'].staff
def test_remove_is_idempotent(self, pyramid_request, users): pyramid_request.params = {"remove": "acct:[email protected]"} views.staff_remove(pyramid_request) assert not users['eva'].staff
def test_remove_makes_users_not_staff(self, pyramid_request, users): pyramid_request.params = {"remove": "acct:[email protected]"} views.staff_remove(pyramid_request) assert not users['cristof'].staff