Skip to content
Snippets Groups Projects
Commit ed7298c1 authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

finish testing survey-publisher-2022

parent 6a1f1f45
Branches
Tags
No related merge requests found
......@@ -64,10 +64,11 @@ def query_budget():
return survey.execute(text(BUDGET_QUERY))
def query_funding_source(funding_source: FundingSource):
query = FUNDING_SOURCES_TEMPLATE_QUERY.format(funding_source.value)
with survey_db.session_scope() as survey:
return survey.execute(text(query))
def query_funding_sources():
for source in FundingSource:
query = FUNDING_SOURCES_TEMPLATE_QUERY.format(source.value)
with survey_db.session_scope() as survey:
yield source, survey.execute(text(query))
def transfer_budget():
......@@ -101,8 +102,7 @@ def transfer_funding_sources():
sources = {source.value: dict() for source in FundingSource}
nrens = set()
for source in FundingSource:
data = query_funding_source(source)
for source, data in query_funding_sources():
for row in data:
nren = row[0]
nrens.add(nren)
......
from compendium_v2.publishers.survey_publisher_2022 import _cli
from compendium_v2 import db
from compendium_v2.db import model
from compendium_v2.publishers.survey_publisher_2022 import _cli, FundingSource
def test_publisher(client, mocker, dummy_config):
......@@ -8,15 +10,55 @@ def test_publisher(client, mocker, dummy_config):
('nren1', '100'),
('nren2', '200'),
('nren3', '300'),
('nren4', 'abcd')
]
def get_rows_as_tuples_funding_source(funding_source):
return ('nren1', '20')
def funding_source_data():
yield FundingSource.CLIENT_INSTITUTIONS, [
('nren1', '10'),
('nren2', '80'),
('nren3', '30'),
]
yield FundingSource.EUROPEAN_FUNDING, [
('nren1', '50'),
('nren2', '20'),
('nren3', '30'),
]
yield FundingSource.OTHER, [
('nren1', '40'),
('nren2', 'abc'),
('nren3', '30'),
]
mocker.patch('compendium_v2.publishers.survey_publisher_2022.query_budget', # noqa
get_rows_as_tuples)
mocker.patch('compendium_v2.publishers.survey_publisher_2022.query_funding_source', # noqa
get_rows_as_tuples_funding_source)
mocker.patch('compendium_v2.publishers.survey_publisher_2022.query_funding_sources', # noqa
funding_source_data)
_cli(dummy_config)
with db.session_scope() as session:
budgets = session.query(model.BudgetEntry).order_by(
model.BudgetEntry.nren.asc()).all()
assert len(budgets) == 3
assert budgets[0].nren == 'nren1'
assert budgets[0].budget == 100
funding_sources = session.query(model.FundingSource).order_by(
model.FundingSource.nren.asc()).all()
assert len(funding_sources) == 3
assert funding_sources[0].nren == 'nren1'
assert funding_sources[0].client_institutions == 10
assert funding_sources[0].european_funding == 50
assert funding_sources[0].other == 40
assert funding_sources[1].nren == 'nren2'
assert funding_sources[1].client_institutions == 80
assert funding_sources[1].european_funding == 20
assert funding_sources[1].other == 0
assert funding_sources[2].nren == 'nren3'
assert funding_sources[2].client_institutions == 30
assert funding_sources[2].european_funding == 30
assert funding_sources[2].other == 30
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment