Merge branch 'master' into view-task-order

This commit is contained in:
patricksmithdds
2019-01-11 13:35:37 -05:00
committed by GitHub
11 changed files with 30 additions and 47 deletions

View File

@@ -0,0 +1,11 @@
import pytest
from flask import url_for
from tests.factories import TaskOrderFactory
def test_invite(client):
to = TaskOrderFactory.create()
response = client.post(
url_for("task_orders.invite", task_order_id=to.id), follow_redirects=False
)

View File

@@ -4,20 +4,22 @@ from urllib.parse import quote
from tests.factories import UserFactory
PROTECTED_URL = "/workspaces"
def test_request_page_with_complete_profile(client, user_session):
user = UserFactory.create()
user_session(user)
response = client.get("/requests", follow_redirects=False)
response = client.get(PROTECTED_URL, follow_redirects=False)
assert response.status_code == 200
def test_redirect_when_profile_missing_fields(client, user_session):
user = UserFactory.create(date_latest_training=None)
user_session(user)
requested_url = "/requests"
response = client.get(requested_url, follow_redirects=False)
response = client.get(PROTECTED_URL, follow_redirects=False)
assert response.status_code == 302
assert "/user?next={}".format(quote(requested_url, safe="")) in response.location
assert "/user?next={}".format(quote(PROTECTED_URL, safe="")) in response.location
def test_unprotected_route_with_incomplete_profile(client, user_session):
@@ -30,7 +32,7 @@ def test_unprotected_route_with_incomplete_profile(client, user_session):
def test_completing_user_profile(client, user_session):
user = UserFactory.create(phone_number=None)
user_session(user)
response = client.get("/requests", follow_redirects=True)
response = client.get(PROTECTED_URL, follow_redirects=True)
assert b"You must complete your profile" in response.data
updated_data = {**user.to_dictionary(), "phone_number": "5558675309"}
@@ -40,6 +42,6 @@ def test_completing_user_profile(client, user_session):
response = client.post(url_for("users.update_user"), data=updated_data)
assert response.status_code == 200
response = client.get("/requests", follow_redirects=False)
response = client.get(PROTECTED_URL, follow_redirects=False)
assert response.status_code == 200
assert b"You must complete your profile" not in response.data

View File

@@ -1,4 +1,5 @@
import pytest
from flask import url_for
@pytest.fixture
@@ -10,7 +11,7 @@ def csrf_enabled_app(app):
def test_csrf_error(csrf_enabled_app, client):
response = client.post(
"/requests/new/1",
url_for("users.user"),
headers={"Content-Type": "application/x-www-form-urlencoded"},
data="csrf_token=invalid_token",
follow_redirects=True,

View File

@@ -19,6 +19,7 @@ def test_user_without_workspaces_has_no_workspaces_nav(client, user_session):
assert b'href="/workspaces"' not in response.data
@pytest.mark.skip(reason="this may no longer be accurate")
def test_request_owner_with_no_workspaces_redirected_to_requests(client, user_session):
request = RequestFactory.create()
user_session(request.creator)
@@ -50,6 +51,7 @@ def test_request_owner_with_more_than_one_workspace_redirected_to_workspaces(
assert "/workspaces" in response.location
@pytest.mark.skip(reason="this may no longer be accurate")
def test_non_owner_user_with_no_workspaces_redirected_to_requests(client, user_session):
user = UserFactory.create()
@@ -86,6 +88,7 @@ def test_non_owner_user_with_mulitple_workspaces_redirected_to_workspaces(
assert "/workspaces" in response.location
@pytest.mark.skip(reason="this may no longer be accurate")
def test_ccpo_user_redirected_to_requests(client, user_session):
user = UserFactory.from_atat_role("ccpo")
for _ in range(3):

View File

@@ -189,11 +189,11 @@ def test_logout(app, client, monkeypatch):
)
# create a real session
resp = _login(client)
resp_success = client.get(url_for("requests.requests_index"))
resp_success = client.get(url_for("users.user"))
# verify session is valid
assert resp_success.status_code == 200
client.get(url_for("atst.logout"))
resp_failure = client.get(url_for("requests.requests_index"))
resp_failure = client.get(url_for("users.user"))
# verify that logging out has cleared the session
assert resp_failure.status_code == 302
destination = urlparse(resp_failure.headers["Location"]).path
@@ -208,6 +208,6 @@ def test_redirected_on_login(client, monkeypatch):
"atst.domain.authnid.AuthenticationContext.get_user",
lambda *args: UserFactory.create(),
)
target_route = url_for("requests.requests_form_new", screen=1)
target_route = url_for("users.user")
response = _login(client, next=target_route)
assert target_route in response.headers.get("Location")

View File

@@ -1,19 +0,0 @@
import pytest
@pytest.mark.parametrize(
"path",
(
"/workspaces",
"/requests",
"/requests/new/1",
"/users",
"/reports",
"/calculator",
),
)
def test_routes(path, client, user_session):
user_session()
response = client.get(path)
assert response.status_code == 200