Files
notifications-api/tests/app/dao/test_organisations_dao.py
2017-07-12 12:01:50 +01:00

67 lines
2.2 KiB
Python

import pytest
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
def test_create_organisation(notify_db, notify_db_session):
organisation = create_organisation()
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_from_db.name != updated_name
organisation.name = updated_name
dao_update_organisation(organisation)
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