Add migration for enforcing uniqueness of an application name within a portfolio and update create/update Applicaiton domain methods.

This commit is contained in:
leigh-mil
2019-12-13 14:49:39 -05:00
parent 483b00a947
commit 22dd5d7b85
7 changed files with 87 additions and 18 deletions

View File

@@ -1,6 +1,7 @@
from unittest.mock import Mock
import pytest
import random
from flask import url_for, Response
@@ -264,26 +265,28 @@ def test_applications_post_application_step_1(post_url_assert_status):
rando = user_with()
portfolio = PortfolioFactory.create(owner=owner)
application = ApplicationFactory.create(portfolio=portfolio)
step_1_form_data = {
"name": "Test Application",
"description": "This is only a test",
}
def _form_data():
return {
"name": "Test Application %s" % (random.randrange(1, 1000)),
"description": "This is only a test",
}
url = url_for(
"applications.create_new_application_step_1", portfolio_id=portfolio.id
)
post_url_assert_status(ccpo, url, 302, data=step_1_form_data)
post_url_assert_status(owner, url, 302, data=step_1_form_data)
post_url_assert_status(rando, url, 404, data=step_1_form_data)
post_url_assert_status(ccpo, url, 302, data=_form_data())
post_url_assert_status(owner, url, 302, data=_form_data())
post_url_assert_status(rando, url, 404, data=_form_data())
url = url_for(
"applications.update_new_application_step_1",
portfolio_id=portfolio.id,
application_id=application.id,
)
post_url_assert_status(ccpo, url, 302, data=step_1_form_data)
post_url_assert_status(owner, url, 302, data=step_1_form_data)
post_url_assert_status(rando, url, 404, data=step_1_form_data)
post_url_assert_status(ccpo, url, 302, data=_form_data())
post_url_assert_status(owner, url, 302, data=_form_data())
post_url_assert_status(rando, url, 404, data=_form_data())
# applications.view_new_application_step_2