Add New Portfolio Workflow
This commit is contained in:
@@ -8,6 +8,59 @@ from tests.factories import (
|
||||
UserFactory,
|
||||
)
|
||||
from atst.utils.localization import translate
|
||||
from atst.domain.portfolios import Portfolios
|
||||
from atst.domain.portfolios.query import PortfoliosQuery
|
||||
|
||||
|
||||
def test_new_portfolio(client, user_session):
|
||||
user = UserFactory.create()
|
||||
user_session(user)
|
||||
|
||||
response = client.get(url_for("portfolios.new_portfolio"))
|
||||
|
||||
assert response.status_code == 200
|
||||
|
||||
|
||||
def test_create_portfolio_success(client, user_session):
|
||||
user = UserFactory.create()
|
||||
user_session(user)
|
||||
|
||||
original_portfolio_count = len(PortfoliosQuery.get_all())
|
||||
|
||||
response = client.post(
|
||||
url_for("portfolios.create_portfolio"),
|
||||
data={
|
||||
"name": "My project name",
|
||||
"description": "My project description",
|
||||
"defense_component": "Air Force, Department of the",
|
||||
},
|
||||
)
|
||||
|
||||
assert response.status_code == 302
|
||||
assert len(PortfoliosQuery.get_all()) == original_portfolio_count + 1
|
||||
|
||||
new_portfolio = Portfolios.for_user(user=user)[-1]
|
||||
|
||||
assert (
|
||||
url_for("applications.portfolio_applications", portfolio_id=new_portfolio.id)
|
||||
in response.location
|
||||
)
|
||||
assert new_portfolio.owner == user
|
||||
|
||||
|
||||
def test_create_portfolio_failure(client, user_session):
|
||||
user = UserFactory.create()
|
||||
user_session(user)
|
||||
|
||||
original_portfolio_count = len(PortfoliosQuery.get_all())
|
||||
|
||||
response = client.post(
|
||||
url_for("portfolios.create_portfolio"),
|
||||
data={"name": "My project name", "description": "My project description"},
|
||||
)
|
||||
|
||||
assert response.status_code == 400
|
||||
assert len(PortfoliosQuery.get_all()) == original_portfolio_count
|
||||
|
||||
|
||||
def test_portfolio_index_with_existing_portfolios(client, user_session):
|
||||
|
Reference in New Issue
Block a user