Add / update tests

- add tests for step3 of new application
This commit is contained in:
graham-dds 2019-10-01 09:17:38 -04:00
parent 00547a9b34
commit 337c98f8cd
2 changed files with 68 additions and 2 deletions

View File

@ -1,7 +1,9 @@
from flask import url_for
from tests.factories import PortfolioFactory, ApplicationFactory
from atst.domain.applications import Applications
from tests.factories import PortfolioFactory, ApplicationFactory, UserFactory
from unittest.mock import Mock
from atst.forms.data import ENV_ROLE_NO_ACCESS as NO_ACCESS
from atst.models.application_invitation import ApplicationInvitation
def test_get_name_and_description_form(client, user_session):
@ -94,3 +96,66 @@ def test_post_environments(client, session, user_session):
assert response.status_code == 302
session.refresh(application)
assert len(application.environments) == 3
def test_get_members(client, session, user_session):
application = ApplicationFactory.create()
user_session(application.portfolio.owner)
response = client.get(
url_for(
"applications.view_new_application_step_3", application_id=application.id
)
)
assert response.status_code == 200
def test_post_member(monkeypatch, client, user_session, session):
job_mock = Mock()
monkeypatch.setattr("atst.jobs.send_mail.delay", job_mock)
user = UserFactory.create()
application = ApplicationFactory.create(
environments=[{"name": "Naboo"}, {"name": "Endor"}]
)
(env, env_1) = application.environments
user_session(application.portfolio.owner)
response = client.post(
url_for("applications.create_member", application_id=application.id),
data={
"user_data-first_name": user.first_name,
"user_data-last_name": user.last_name,
"user_data-dod_id": user.dod_id,
"user_data-email": user.email,
"environment_roles-0-environment_id": env.id,
"environment_roles-0-role": "Basic Access",
"environment_roles-0-environment_name": env.name,
"environment_roles-1-environment_id": env_1.id,
"environment_roles-1-role": NO_ACCESS,
"environment_roles-1-environment_name": env_1.name,
"perms_env_mgmt": True,
"perms_team_mgmt": True,
"perms_del_env": True,
},
)
assert response.status_code == 302
expected_url = url_for(
"applications.settings",
application_id=application.id,
fragment="application-members",
_anchor="application-members",
_external=True,
)
assert response.location == expected_url
assert len(application.roles) == 1
environment_roles = application.roles[0].environment_roles
assert len(environment_roles) == 1
assert environment_roles[0].environment == env
invitation = (
session.query(ApplicationInvitation).filter_by(dod_id=user.dod_id).one()
)
assert invitation.role.application == application
assert job_mock.called

View File

@ -561,6 +561,7 @@ def test_revoke_invite(client, user_session):
assert invite.is_revoked
assert app_role.status == ApplicationRoleStatus.DISABLED
def test_filter_environment_roles():
application_role = ApplicationRoleFactory.create(user=None)
application_role2 = ApplicationRoleFactory.create(