Parameterize test

This commit is contained in:
Adam Shimali
2016-07-04 14:53:34 +01:00
parent 4edd308a54
commit 5c62a14b2d

View File

@@ -737,16 +737,22 @@ def test_if_sms_sender_set_then_form_populated(app_,
assert page.find(id='sms_sender')['value'] == 'elevenchars' assert page.find(id='sms_sender')['value'] == 'elevenchars'
@pytest.mark.parametrize("sender, expected_flash_message", [
("elevenchars", 'Text message sender set to elevenchars'),
('', 'Text message sender removed')
])
def test_set_text_message_sender_flash_messages( def test_set_text_message_sender_flash_messages(
app_, app_,
active_user_with_permissions, active_user_with_permissions,
mocker, mocker,
mock_update_service, mock_update_service,
service_one): service_one,
sender,
expected_flash_message):
with app_.test_request_context(): with app_.test_request_context():
with app_.test_client() as client: with app_.test_client() as client:
client.login(active_user_with_permissions, mocker, service_one) client.login(active_user_with_permissions, mocker, service_one)
data = {"sms_sender": "elevenchars"} data = {"sms_sender": sender}
response = client.post(url_for('main.service_set_sms_sender', service_id=service_one['id']), response = client.post(url_for('main.service_set_sms_sender', service_id=service_one['id']),
data=data, data=data,
follow_redirects=True) follow_redirects=True)
@@ -756,16 +762,4 @@ def test_set_text_message_sender_flash_messages(
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
element = page.find('div', {"class": "banner-default-with-tick"}) element = page.find('div', {"class": "banner-default-with-tick"})
assert element.text.strip() == 'Text message sender set to elevenchars' assert element.text.strip() == expected_flash_message
data = {"sms_sender": ""}
response = client.post(url_for('main.service_set_sms_sender', service_id=service_one['id']),
data=data,
follow_redirects=True)
assert response.status_code == 200
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
element = page.find('div', {"class": "banner-default-with-tick"})
assert element.text.strip() == 'Text message sender removed'