mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-02 09:26:08 -05:00
Refactored dao_update_organisation
This commit is contained in:
@@ -14,3 +14,10 @@ def dao_get_organisation_by_id(org_id):
|
|||||||
@transactional
|
@transactional
|
||||||
def dao_create_organisation(organisation):
|
def dao_create_organisation(organisation):
|
||||||
db.session.add(organisation)
|
db.session.add(organisation)
|
||||||
|
|
||||||
|
|
||||||
|
@transactional
|
||||||
|
def dao_update_organisation(organisation, **kwargs):
|
||||||
|
for key, value in kwargs.items():
|
||||||
|
setattr(organisation, key, value)
|
||||||
|
db.session.add(organisation)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ from app.dao.organisations_dao import (
|
|||||||
dao_create_organisation,
|
dao_create_organisation,
|
||||||
dao_get_organisations,
|
dao_get_organisations,
|
||||||
dao_get_organisation_by_id,
|
dao_get_organisation_by_id,
|
||||||
|
dao_update_organisation
|
||||||
)
|
)
|
||||||
from app.errors import register_errors
|
from app.errors import register_errors
|
||||||
from app.models import Organisation
|
from app.models import Organisation
|
||||||
@@ -45,7 +46,6 @@ def update_organisation(organisation_id):
|
|||||||
validate(data, post_update_organisation_schema)
|
validate(data, post_update_organisation_schema)
|
||||||
|
|
||||||
fetched_organisation = dao_get_organisation_by_id(organisation_id)
|
fetched_organisation = dao_get_organisation_by_id(organisation_id)
|
||||||
for key in data.keys():
|
dao_update_organisation(fetched_organisation, **data)
|
||||||
setattr(fetched_organisation, key, data[key])
|
|
||||||
|
|
||||||
return jsonify(data=fetched_organisation.serialize()), 200
|
return jsonify(data=fetched_organisation.serialize()), 200
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ from sqlalchemy.exc import IntegrityError
|
|||||||
from app.dao.organisations_dao import (
|
from app.dao.organisations_dao import (
|
||||||
dao_create_organisation,
|
dao_create_organisation,
|
||||||
dao_get_organisations,
|
dao_get_organisations,
|
||||||
dao_get_organisation_by_id
|
dao_get_organisation_by_id,
|
||||||
|
dao_update_organisation,
|
||||||
)
|
)
|
||||||
from app.models import Organisation
|
from app.models import Organisation
|
||||||
|
|
||||||
@@ -57,11 +58,14 @@ def test_update_organisation(notify_db, notify_db_session):
|
|||||||
updated_name = 'new name'
|
updated_name = 'new name'
|
||||||
organisation = create_organisation()
|
organisation = create_organisation()
|
||||||
|
|
||||||
organisation_from_db = Organisation.query.first()
|
organisations_1 = Organisation.query.all()
|
||||||
assert organisation_from_db.name != updated_name
|
|
||||||
|
|
||||||
setattr(organisation_from_db, 'name', updated_name)
|
assert len(organisations_1) == 1
|
||||||
|
assert organisations_1[0].name != updated_name
|
||||||
|
|
||||||
organisation_from_db_again = Organisation.query.first()
|
dao_update_organisation(organisations_1[0], name=updated_name)
|
||||||
|
|
||||||
assert organisation_from_db_again.name == updated_name
|
organisations_2 = Organisation.query.all()
|
||||||
|
|
||||||
|
assert len(organisations_2) == 1
|
||||||
|
assert organisations_2[0].name == updated_name
|
||||||
|
|||||||
Reference in New Issue
Block a user