mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-30 06:21:50 -05:00
Adding rest endpoints for letter-branding
This commit is contained in:
@@ -1,23 +1,72 @@
|
||||
from app.dao.letter_branding_dao import get_letter_branding_or_platform_default
|
||||
from app.dao.letter_branding_dao import (
|
||||
dao_get_letter_branding_or_platform_default,
|
||||
dao_get_all_letter_branding,
|
||||
dao_create_letter_branding,
|
||||
dao_update_letter_branding
|
||||
)
|
||||
from app.models import LetterBranding
|
||||
from tests.app.db import create_letter_branding
|
||||
|
||||
|
||||
def test_get_letter_branding_or_platform_default_returns_platform_default_if_domain_is_none(notify_db_session):
|
||||
def test_dao_get_letter_branding_or_platform_default_returns_platform_default_if_domain_is_none(notify_db_session):
|
||||
create_letter_branding()
|
||||
result = get_letter_branding_or_platform_default(domain=None)
|
||||
result = dao_get_letter_branding_or_platform_default(domain=None)
|
||||
assert result.filename == 'hm-government'
|
||||
|
||||
|
||||
def test_get_letter_branding_or_platform_default_if_domain_is_not_associated_with_a_brand(notify_db_session):
|
||||
def test_dao_get_letter_branding_or_platform_default_if_domain_is_not_associated_with_a_brand(notify_db_session):
|
||||
create_letter_branding()
|
||||
result = get_letter_branding_or_platform_default(domain="foo.bar")
|
||||
result = dao_get_letter_branding_or_platform_default(domain="foo.bar")
|
||||
assert result.filename == 'hm-government'
|
||||
|
||||
|
||||
def test_get_letter_branding_or_platform_default_returns_correct_brand_for_domain(notify_db_session):
|
||||
def test_dao_get_letter_branding_or_platform_default_returns_correct_brand_for_domain(notify_db_session):
|
||||
create_letter_branding()
|
||||
test_domain_branding = create_letter_branding(
|
||||
name='test domain', filename='test-domain', domain='test.domain', platform_default=False
|
||||
)
|
||||
result = get_letter_branding_or_platform_default(domain='test.domain')
|
||||
result = dao_get_letter_branding_or_platform_default(domain='test.domain')
|
||||
result == test_domain_branding
|
||||
|
||||
|
||||
def test_dao_get_all_letter_branding(notify_db_session):
|
||||
platform_default = create_letter_branding()
|
||||
test_domain = create_letter_branding(
|
||||
name='test domain', filename='test-domain', domain='test.domain', platform_default=False
|
||||
)
|
||||
|
||||
results = dao_get_all_letter_branding()
|
||||
|
||||
assert platform_default in results
|
||||
assert test_domain in results
|
||||
assert len(results) == 2
|
||||
|
||||
|
||||
def test_dao_get_all_letter_branding_returns_empty_list_if_no_brands_exist(notify_db):
|
||||
assert dao_get_all_letter_branding() == []
|
||||
|
||||
|
||||
def test_dao_create_letter_branding(notify_db_session):
|
||||
data = {
|
||||
'name': 'test-logo',
|
||||
'domain': 'test.co.uk',
|
||||
'filename': 'test-logo'
|
||||
}
|
||||
assert LetterBranding.query.count() == 0
|
||||
dao_create_letter_branding(LetterBranding(**data))
|
||||
|
||||
assert LetterBranding.query.count() == 1
|
||||
|
||||
new_letter_branding = LetterBranding.query.first()
|
||||
assert new_letter_branding.name == data['name']
|
||||
assert new_letter_branding.domain == data['domain']
|
||||
assert new_letter_branding.filename == data['name']
|
||||
assert not new_letter_branding.platform_default
|
||||
|
||||
|
||||
def test_dao_update_letter_branding(notify_db_session):
|
||||
create_letter_branding(name='original')
|
||||
letter_branding = LetterBranding.query.first()
|
||||
assert letter_branding.name == 'original'
|
||||
dao_update_letter_branding(letter_branding.id, name='new name')
|
||||
assert LetterBranding.query.first().name == 'new name'
|
||||
|
||||
0
tests/app/letter_branding/__init__.py
Normal file
0
tests/app/letter_branding/__init__.py
Normal file
14
tests/app/letter_branding/test_letter_branding_rest.py
Normal file
14
tests/app/letter_branding/test_letter_branding_rest.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from tests import create_authorization_header
|
||||
from tests.app.db import create_letter_branding
|
||||
|
||||
|
||||
def test_get_letter_brandings(client, notify_db_session):
|
||||
platform_default = create_letter_branding()
|
||||
test_domain_branding = create_letter_branding(
|
||||
name='test domain', filename='test-domain', domain='test.domain', platform_default=False
|
||||
)
|
||||
response = client.get('/letter-branding', headers=[create_authorization_header()])
|
||||
assert response.status_code == 200
|
||||
json_response = response.get_data(as_text=True)
|
||||
assert platform_default.serialize() in json_response
|
||||
assert test_domain_branding.serialize() in json_response
|
||||
Reference in New Issue
Block a user