Add create and update fns for organisation dao

This commit is contained in:
Ken Tsang
2017-07-06 10:58:48 +01:00
parent a6df96213b
commit 2f8bc0feae
2 changed files with 19 additions and 21 deletions

View File

@@ -12,12 +12,10 @@ def dao_get_organisation_by_id(org_id):
@transactional
@version_class(Organisation)
def dao_create_organisation(organisation):
db.session.add(organisation)
@transactional
@version_class(Organisation)
def dao_update_organisation(organisation):
db.session.add(organisation)

View File

@@ -1,7 +1,10 @@
import pytest
from sqlalchemy.exc import IntegrityError
from app.dao.organisations_dao import (
dao_create_organisation, dao_get_organisations, dao_get_organisation_by_id, dao_update_organisation
dao_create_organisation,
dao_get_organisations,
dao_get_organisation_by_id, dao_update_organisation
)
from app.models import Organisation
@@ -16,6 +19,21 @@ def test_create_organisation(notify_db, notify_db_session):
assert organisation == organisation_from_db
def test_create_organisation_without_name_or_colour_is_valid(notify_db, notify_db_session):
organisation = create_organisation(name=None, colour=None)
assert Organisation.query.count() == 1
organisation_from_db = Organisation.query.first()
assert organisation == organisation_from_db
def test_create_organisation_without_logo_raises_error(notify_db, notify_db_session):
with pytest.raises(IntegrityError) as excinfo:
create_organisation(logo=None)
assert 'column "logo" violates not-null constraint' in str(excinfo.value)
assert Organisation.query.count() == 0
def test_get_organisations_gets_all_organisations(notify_db, notify_db_session):
create_organisation(name='test_org_1')
create_organisation(name='test_org_2')
@@ -46,21 +64,3 @@ def test_update_organisation(notify_db, notify_db_session):
organisation_from_db = Organisation.query.first()
assert organisation_from_db.name == updated_name
def test_create_organisation_creates_a_history_record_with_current_data(sample_user):
assert Organisation.query.count() == 0
assert Organisation.get_history_model().query.count() == 0
organisation = create_organisation()
assert Organisation.query.count() == 1
assert Organisation.get_history_model().query.count() == 1
organisation_from_db = Organisation.query.first()
organisation_history = Organisation.get_history_model().query.first()
assert organisation_from_db.id == organisation_history.id
assert organisation_from_db.name == organisation_history.name
assert organisation_from_db.version == 1
assert organisation_from_db.version == organisation_history.version
assert sample_user.id == organisation_history.created_by_id
assert organisation_from_db.created_by.id == organisation_history.created_by_id