Updated Organisations DAO

This commit is contained in:
Ken Tsang
2017-07-05 11:17:03 +01:00
parent c743e52fe8
commit 37df051c32
5 changed files with 64 additions and 3 deletions

View File

@@ -39,7 +39,7 @@ from app.dao.invited_user_dao import save_invited_user
from app.dao.provider_rates_dao import create_provider_rates
from app.clients.sms.firetext import FiretextClient
from tests import create_authorization_header
from tests.app.db import create_user, create_template, create_notification
from tests.app.db import create_user, create_template, create_notification, create_organisation
@pytest.yield_fixture
@@ -974,6 +974,10 @@ def sample_provider_rate(notify_db, notify_db_session, valid_from=None, rate=Non
)
def sample_organisation(notify_db, notify_db_session):
create_organisation()
@pytest.fixture
def restore_provider_details(notify_db, notify_db_session):
"""

View File

@@ -1,6 +1,8 @@
import pytest
from app.dao.organisations_dao import dao_create_organisation
from app.dao.organisations_dao import (
dao_create_organisation, dao_get_organisations, dao_get_organisation_by_id, dao_update_organisation
)
from app.models import Organisation
from tests.app.db import create_organisation
@@ -12,3 +14,35 @@ def test_create_organisation(notify_db, notify_db_session):
assert Organisation.query.count() == 1
organisation_from_db = Organisation.query.first()
assert organisation == organisation_from_db
def test_get_organisations_gets_all_organisations(notify_db, notify_db_session):
create_organisation(name='test_org_1')
create_organisation(name='test_org_2')
organisations = dao_get_organisations()
assert len(organisations) == 2
def test_get_organisation_by_id_gets_correct_organisation(notify_db, notify_db_session):
organisation = create_organisation()
organisation_from_db = dao_get_organisation_by_id(organisation.id)
assert organisation_from_db == organisation
def test_update_organisation(notify_db, notify_db_session):
updated_name = 'new name'
organisation = create_organisation()
organisation_from_db = Organisation.query.first()
assert organisation.name != updated_name
organisation.name = updated_name
dao_update_organisation(organisation)
organisation_from_db = Organisation.query.first()
assert organisation_from_db.name == updated_name

View File

@@ -229,7 +229,7 @@ def create_service_inbound_api(
return service_inbound_api
def create_organisation(colour='blue', logo='test_x2.png', name='test_logo'):
def create_organisation(colour='blue', logo='test_x2.png', name='test_org_1'):
data = {
'colour': colour,
'logo': logo,

View File

@@ -37,3 +37,21 @@ def test_get_organisation_by_id(notify_api, notify_db, notify_db_session):
assert organisation['logo'] == '/path/image.png'
assert organisation['name'] == 'My Org'
assert organisation['id'] == str(org.id)
def test_create_organisation(client, notify_db, notify_db_session):
data = {
'name': 'test organisation',
'colour': '#0000ff',
'logo': '/images/test_x2.png'
}
auth_header = create_authorization_header()
response = client.post(
'/organisation',
headers=[('Content-Type', 'application/json'), auth_header],
data=json.dumps(data)
)
assert response.status_code == 201
json_resp = json.loads(response.get_data(as_text=True))
assert data['name'] == json_resp['data']['name']