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

update 2022 publisher test for staff data

parent b8335901
No related branches found
No related tags found
1 merge request!6Feature/comp 125 staffing graph
from compendium_v2 import db
from compendium_v2.db import model
from compendium_v2.publishers.survey_publisher_2022 import _cli, FundingSource
from compendium_v2.publishers.survey_publisher_2022 import _cli, FundingSource, Question
def test_publisher(client, mocker, dummy_config):
......@@ -30,12 +30,44 @@ def test_publisher(client, mocker, dummy_config):
('nren3', '30'),
]
mocker.patch('compendium_v2.publishers.survey_publisher_2022.query_budget', # noqa
def question_data(question):
if question == Question.non_technical_fte:
return [
('nren1', '10'),
('nren2', '80'),
('nren3', '30'),
]
if question == Question.technical_fte:
return [
('nren1', '50'),
('nren2', '20'),
('nren3', '30'),
]
if question == Question.permanent_fte:
return [
('nren1', '40'),
('nren2', 'abc'),
('nren3', '30'),
]
if question == Question.subcontracted_fte:
return [
('nren1', '0'),
('nren2', '0'),
('nren3', '0'),
]
mocker.patch('compendium_v2.publishers.survey_publisher_2022.query_budget',
get_rows_as_tuples)
mocker.patch('compendium_v2.publishers.survey_publisher_2022.query_funding_sources', # noqa
mocker.patch('compendium_v2.publishers.survey_publisher_2022.query_funding_sources',
funding_source_data)
mocker.patch('compendium_v2.publishers.survey_publisher_2022.query_question',
question_data)
with db.session_scope() as session:
nren_names = [
'Nren1', 'Nren2', 'Nren3', 'Nren4',
......@@ -70,3 +102,25 @@ def test_publisher(client, mocker, dummy_config):
assert funding_sources[2].client_institutions == 30
assert funding_sources[2].european_funding == 30
assert funding_sources[2].other == 30
staff_data = session.query(model.NrenStaff).order_by(
model.NrenStaff.nren_id.asc()).all()
assert len(staff_data) == 3
assert staff_data[0].nren.name.lower() == 'nren1'
assert staff_data[0].non_technical_fte == 10
assert staff_data[0].technical_fte == 50
assert staff_data[0].permanent_fte == 40
assert staff_data[0].subcontracted_fte == 0
assert staff_data[1].nren.name.lower() == 'nren2'
assert staff_data[1].non_technical_fte == 80
assert staff_data[1].technical_fte == 20
assert staff_data[1].permanent_fte == 0
assert staff_data[1].subcontracted_fte == 0
assert staff_data[2].nren.name.lower() == 'nren3'
assert staff_data[2].non_technical_fte == 30
assert staff_data[2].technical_fte == 30
assert staff_data[2].permanent_fte == 30
assert staff_data[2].subcontracted_fte == 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment