def test_ogd_other_dept_error(self, logged_in_client): # Arrange dept_name = "other_dep" dept = GovDepartmentFactory(name=dept_name) u = UserFactory(gov_department=dept) # Act resp = logged_in_client.get( reverse( "action-progress-department", kwargs={"dept": dept_name}, )) # Assert assert resp.status_code == 403
def test_ogd_other_dept(self, logged_in_client): # Arrange dept_name = "other_dep" dept = GovDepartmentFactory(name=dept_name) u = UserFactory(gov_department=dept) # Act resp = logged_in_client.get( reverse( "chain-details-list", kwargs={"dept": dept_name}, )) # Assert assert resp.status_code == 200
def test_new_user_calls_user_manager_create_user_method(): """ Test that when create_user is called, object creation is achieved by calling the create_user method of models.UserManager. """ gov_department = GovDepartmentFactory(email_domains=["email.gov.uk"]) mock_profile = { "email": "*****@*****.**", # /PS-IGNORE "email_user_id": "*****@*****.**", # /PS-IGNORE "first_name": "Mr", "last_name": "Test", } auth_backend = CustomAuthbrokerBackend() with mock.patch( "accounts.models.UserManager.create_user") as mocked_method: new_profile = auth_backend.create_user(mock_profile) assert mocked_method.called
def test_manager_create_user_does_not_create_superuser(): """ Test that a normal user isn't created as a superuser. """ new_dep = GovDepartmentFactory( email_domains=[ "email.gov.uk", ] ) mock_profile = { "sso_email_user_id": "*****@*****.**", # /PS-IGNORE "first_name": "Mr", "last_name": "Test", "gov_department": new_dep, } email = "*****@*****.**" # /PS-IGNORE new_profile = UserModel.objects.create_user(email=email, **mock_profile) assert not new_profile.is_superuser
def test_auth_on_dept(self, logged_in_client): # Arrange dept_name = "other_dep" dept = GovDepartmentFactory(name=dept_name) sc = SupplyChainFactory.create(gov_department=dept) # Act resp = logged_in_client.get( reverse( "chain-details-info", kwargs={ "dept": dept_name, "supply_chain_slug": sc.slug }, )) # Assert assert resp.status_code == 200
def test_backend_create_user_creates_user_with_valid_data(): """ Test that the newly-created user has all the bits we intended them to have. """ gov_department = GovDepartmentFactory(email_domains=["email.gov.uk"]) mock_profile = { "email": "*****@*****.**", # /PS-IGNORE "email_user_id": "*****@*****.**", # /PS-IGNORE "first_name": "Mr", "last_name": "Test", } auth_backend = CustomAuthbrokerBackend() new_profile = auth_backend.create_user(mock_profile) assert new_profile is not None assert new_profile.email == mock_profile["email"] assert new_profile.sso_email_user_id == mock_profile["email_user_id"] assert new_profile.first_name == mock_profile["first_name"] assert new_profile.last_name == mock_profile["last_name"]
def test_manager_create_user_calls_set_unusable_password(): """ Test that UserModel.objects.create_user correctly prevents password login. """ new_dep = GovDepartmentFactory( email_domains=[ "email.gov.uk", ] ) mock_profile = { "sso_email_user_id": "*****@*****.**", # /PS-IGNORE "first_name": "Mr", "last_name": "Test", "gov_department": new_dep, } email = "*****@*****.**" # /PS-IGNORE with mock.patch.object(UserModel, "set_unusable_password") as mocked_method: new_profile = UserModel.objects.create_user(email=email, **mock_profile) assert mocked_method.called
def test_auth_no_perm(self, logged_in_client): # Arrange dept_name = "mod" dept = GovDepartmentFactory(name=dept_name) sc_name = "ceramics" SupplyChainFactory(gov_department=dept, name=sc_name) # Act resp = logged_in_client.get( reverse( "action-progress-list", kwargs={ "dept": dept_name, "supply_chain_slug": sc_name }, )) # Assert assert resp.status_code == 403
def test_ogd_other_dept_error(self, logged_in_client): # Arrange dept_name = "other_dep" dept = GovDepartmentFactory(name=dept_name) sc_name = "ceramics" sc = SupplyChainFactory(gov_department=dept, name=sc_name) sa = StrategicActionFactory(supply_chain=sc) # Act resp = logged_in_client.get( reverse( "action-progress-detail", kwargs={ "dept": dept_name, "supply_chain_slug": sc_name, "action_slug": sa.slug, }, )) # Assert assert resp.status_code == 403
def test_manager_create_user_creates_user(): """ Test that UserModel.objects.create_user does that. """ new_dep = GovDepartmentFactory( email_domains=[ "email.gov.uk", ] ) mock_profile = { "sso_email_user_id": "*****@*****.**", # /PS-IGNORE "first_name": "Mr", "last_name": "Test", "gov_department": new_dep, } email = "*****@*****.**" # /PS-IGNORE new_profile = UserModel.objects.create_user(email=email, **mock_profile) assert new_profile is not None assert new_profile.email == email assert new_profile.sso_email_user_id == mock_profile["sso_email_user_id"] assert new_profile.first_name == mock_profile["first_name"] assert new_profile.last_name == mock_profile["last_name"]
def test_check_matching_gov_department_success(): """Test True is returned if supply chain and user have same gov department.""" g = GovDepartmentFactory() user = UserFactory(gov_department=g) supply_chain = SupplyChainFactory(gov_department=g) assert check_matching_gov_department(user, supply_chain)