Ejemplo n.º 1
0
def test_get_feedback_page_with_prefilled_body(
    client_request,
    mocker,
    fake_uuid,
    prefilled_body,
    expected_textarea,
):
    user = active_user_with_permissions(fake_uuid)
    user.email_address = '*****@*****.**'
    mocker.patch('app.user_api_client.get_user', return_value=user)
    mock_post = mocker.patch(
        'app.main.views.feedback.deskpro_client.create_ticket')
    page = client_request.get(
        'main.feedback',
        ticket_type=QUESTION_TICKET_TYPE,
        body=prefilled_body,
    )
    assert page.select_one('textarea').text == (expected_textarea)
    client_request.post('main.feedback',
                        ticket_type=QUESTION_TICKET_TYPE,
                        body='agreement',
                        _data={
                            'feedback': 'blah',
                            'name': 'Example',
                            'email_address': '*****@*****.**'
                        })
    message = mock_post.call_args[1]['message']
    assert message.endswith('blah')
    assert 'Please send' not in message
Ejemplo n.º 2
0
def test_agreement_cant_be_downloaded_unknown_crown_status(
    logged_in_client,
    mocker,
    fake_uuid,
):
    mock_get_s3_object = mocker.patch('app.main.s3_client.get_s3_object',
                                      return_value=_MockS3Object())
    user = active_user_with_permissions(fake_uuid)
    user.email_address = '*****@*****.**'
    mocker.patch('app.user_api_client.get_user', return_value=user)
    response = logged_in_client.get(url_for('main.download_agreement'))
    assert response.status_code == 404
    assert mock_get_s3_object.call_args_list == []
Ejemplo n.º 3
0
def test_show_agreement_page(
    client_request,
    mocker,
    fake_uuid,
    email_address,
    expected_status,
):
    user = active_user_with_permissions(fake_uuid)
    user.email_address = email_address
    mocker.patch('app.user_api_client.get_user', return_value=user)
    client_request.get(
        'main.agreement',
        _expected_status=expected_status,
    )
Ejemplo n.º 4
0
def test_show_agreement_page(
    client_request,
    mocker,
    fake_uuid,
    email_address,
    expected_links,
):
    user = active_user_with_permissions(fake_uuid)
    user.email_address = email_address
    mocker.patch('app.user_api_client.get_user', return_value=user)
    page = client_request.get('main.agreement')
    links = page.select('main .column-two-thirds a')
    assert len(links) == len(expected_links)
    for index, link in enumerate(links):
        assert link['href'] == expected_links[index]()
def test_terms_tells_logged_in_users_what_we_know_about_their_agreement(
    mocker,
    fake_uuid,
    client_request,
    email_address,
    expected_terms_paragraph,
    expected_terms_link,
    expected_pricing_paragraph,
):
    user = active_user_with_permissions(fake_uuid)
    user.email_address = email_address
    mocker.patch('app.user_api_client.get_user', return_value=user)
    terms_page = client_request.get('main.terms')
    pricing_page = client_request.get('main.pricing')
    assert normalize_spaces(terms_page.select('main p')[1].text) == expected_terms_paragraph
    if expected_terms_link:
        assert terms_page.select_one('main p a')['href'] == expected_terms_link()
    else:
        assert not terms_page.select_one('main p').select('a')
    assert normalize_spaces(pricing_page.select('main p')[-1].text) == expected_pricing_paragraph
Ejemplo n.º 6
0
def test_downloading_agreement(
    logged_in_client,
    mocker,
    fake_uuid,
    email_address,
    expected_file_fetched,
    expected_file_served,
):
    mock_get_s3_object = mocker.patch('app.main.s3_client.get_s3_object',
                                      return_value=_MockS3Object(b'foo'))
    user = active_user_with_permissions(fake_uuid)
    user.email_address = email_address
    mocker.patch('app.user_api_client.get_user', return_value=user)
    response = logged_in_client.get(url_for('main.download_agreement'))
    assert response.status_code == 200
    assert response.get_data() == b'foo'
    assert response.headers['Content-Type'] == 'application/pdf'
    assert response.headers['Content-Disposition'] == (
        'attachment; filename="{}"'.format(expected_file_served))
    mock_get_s3_object.assert_called_once_with('test-mou',
                                               expected_file_fetched)