Added an endpoint to get letter-branding by id.

This commit is contained in:
Rebecca Law
2019-01-25 16:05:55 +00:00
parent e030c2be88
commit 4dbb54b5e7
4 changed files with 49 additions and 3 deletions

View File

@@ -1,13 +1,31 @@
import uuid
import pytest
from sqlalchemy.exc import SQLAlchemyError
from app.dao.letter_branding_dao import (
dao_get_letter_branding_by_domain,
dao_get_all_letter_branding,
dao_create_letter_branding,
dao_update_letter_branding
dao_update_letter_branding,
dao_get_letter_branding_by_id
)
from app.models import LetterBranding
from tests.app.db import create_letter_branding
def test_dao_get_letter_branding_by_id(notify_db_session):
letter_branding = create_letter_branding()
result = dao_get_letter_branding_by_id(letter_branding.id)
assert result == letter_branding
def test_dao_get_letter_brand_by_id_raises_exception_if_does_not_exist(notify_db_session):
with pytest.raises(expected_exception=SQLAlchemyError):
dao_get_letter_branding_by_id(uuid.uuid4())
def test_dao_get_letter_branding_by_domain_returns_none_if_no_matching_domains(notify_db_session):
result = dao_get_letter_branding_by_domain(domain="test.domain")
assert not result

View File

@@ -1,5 +1,5 @@
import json
import uuid
from app.models import LetterBranding
from tests import create_authorization_header
@@ -24,6 +24,22 @@ def test_get_all_letter_brands(client, notify_db_session):
assert False
def test_get_letter_branding_by_id(client, notify_db_session):
hm_gov = create_letter_branding()
create_letter_branding(
name='test domain', filename='test-domain', domain='test.domain'
)
response = client.get('/letter-branding/{}'.format(hm_gov.id), headers=[create_authorization_header()])
assert response.status_code == 200
assert json.loads(response.get_data(as_text=True)) == hm_gov.serialize()
def test_get_letter_branding_by_id_returns_404_if_does_not_exist(client, notify_db_session):
response = client.get('/letter-branding/{}'.format(uuid.uuid4()), headers=[create_authorization_header()])
assert response.status_code == 404
def test_create_letter_branding(client, notify_db_session):
form = {
'name': 'super brand',