fix go live link

This commit is contained in:
Leo Hemsted
2018-04-27 15:47:47 +01:00
parent 2ceea61bb1
commit e8b0e83100
2 changed files with 36 additions and 37 deletions

View File

@@ -10,7 +10,6 @@ from flask import (
) )
from flask_login import current_user, login_required from flask_login import current_user, login_required
from notifications_python_client.errors import HTTPError from notifications_python_client.errors import HTTPError
from notifications_utils.clients.zendesk.zendesk_client import ZendeskError
from notifications_utils.field import Field from notifications_utils.field import Field
from notifications_utils.formatters import formatted_list from notifications_utils.formatters import formatted_list
@@ -190,41 +189,39 @@ def submit_request_to_go_live(service_id):
form = RequestToGoLiveForm() form = RequestToGoLiveForm()
if form.validate_on_submit(): if form.validate_on_submit():
try: zendesk_client.create_ticket(
zendesk_client.create_ticket( subject='Request to go live - {}'.format(current_service['name']),
subject='Request to go live - {}'.format(current_service['name']), message=(
message=( 'On behalf of {} ({})\n'
'On behalf of {} ({})\n' '\n---'
'\n---' '\nOrganisation type: {}'
'\nOrganisation type: {}' '\nAgreement signed: {}'
'\nAgreement signed: {}' '\nChannel: {}\nStart date: {}\nStart volume: {}'
'\nChannel: {}\nStart date: {}\nStart volume: {}' '\nPeak volume: {}'
'\nPeak volume: {}' '\nFeatures: {}'
'\nFeatures: {}' ).format(
).format( current_service['name'],
current_service['name'], url_for('main.service_dashboard', service_id=current_service['id'], _external=True),
url_for('main.service_dashboard', service_id=current_service['id'], _external=True), current_service['organisation_type'],
current_service['organisation_type'], AgreementInfo.from_current_user().as_human_readable,
AgreementInfo.from_current_user().as_human_readable, formatted_list(filter(None, (
formatted_list(filter(None, ( 'email' if form.channel_email.data else None,
'email' if form.channel_email.data else None, 'text messages' if form.channel_sms.data else None,
'text messages' if form.channel_sms.data else None, 'letters' if form.channel_letter.data else None,
'letters' if form.channel_letter.data else None, )), before_each='', after_each=''),
)), before_each='', after_each=''), form.start_date.data,
form.start_date.data, form.start_volume.data,
form.start_volume.data, form.peak_volume.data,
form.peak_volume.data, formatted_list(filter(None, (
formatted_list(filter(None, ( 'one off' if form.method_one_off.data else None,
'one off' if form.method_one_off.data else None, 'file upload' if form.method_upload.data else None,
'file upload' if form.method_upload.data else None, 'API' if form.method_api.data else None,
'API' if form.method_api.data else None, )), before_each='', after_each='')
)), before_each='', after_each='') ),
), ticket_type=zendesk_client.TYPE_QUESTION,
user_email=current_user.email_address, user_email=current_user.email_address,
user_name=current_user.name user_name=current_user.name
) )
except ZendeskError:
abort(500, "Request to go live submission failed")
flash('Thanks for your request to go live. Well get back to you within one working day.', 'default') flash('Thanks for your request to go live. Well get back to you within one working day.', 'default')
return redirect(url_for('.service_settings', service_id=service_id)) return redirect(url_for('.service_settings', service_id=service_id))

View File

@@ -5,6 +5,7 @@ import pytest
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from flask import url_for from flask import url_for
from freezegun import freeze_time from freezegun import freeze_time
from notifications_utils.clients.zendesk.zendesk_client import ZendeskClient
import app import app
from app.utils import email_safe from app.utils import email_safe
@@ -561,7 +562,7 @@ def test_should_redirect_after_request_to_go_live(
single_sms_sender, single_sms_sender,
mock_get_service_settings_page_common mock_get_service_settings_page_common
): ):
mock_post = mocker.patch('app.main.views.service_settings.zendesk_client.create_ticket') mock_post = mocker.patch('app.main.views.service_settings.zendesk_client.create_ticket', autospec=True)
page = client_request.post( page = client_request.post(
'main.submit_request_to_go_live', 'main.submit_request_to_go_live',
service_id=SERVICE_ONE_ID, service_id=SERVICE_ONE_ID,
@@ -580,6 +581,7 @@ def test_should_redirect_after_request_to_go_live(
mock_post.assert_called_with( mock_post.assert_called_with(
subject='Request to go live - service one', subject='Request to go live - service one',
message=ANY, message=ANY,
ticket_type=ZendeskClient.TYPE_QUESTION,
user_name=active_user_with_permissions.name, user_name=active_user_with_permissions.name,
user_email=active_user_with_permissions.email_address user_email=active_user_with_permissions.email_address
) )