def test_dashboard_data_has_correct_ods_given_two_practices(): sla_metrics = [ build_practice_sla_metrics(ods="A12345"), build_practice_sla_metrics(ods="Z56789"), ] expected_ods = {"A12345", "Z56789"} actual = construct_service_dashboard_data(sla_metrics, year=A_YEAR, month=A_MONTH) _assert_has_ods_codes(actual.practices, expected_ods)
def test_dashboard_data_has_correct_requestor_sla_metrics_given_two_practices( ): sla_metrics = [ build_practice_sla_metrics(ods="A12345", within_3_days=1, within_8_days=0, beyond_8_days=2), build_practice_sla_metrics(ods="Z98765", within_3_days=0, within_8_days=5, beyond_8_days=2), ] expected = ServiceDashboardData( generated_on=datetime(year=2020, month=1, day=2, hour=23, second=42), practices=[ PracticeSummary( ods="A12345", metrics=[ MonthlyMetrics( year=2020, month=1, requestor=RequestorMetrics( time_to_integrate_sla=TimeToIntegrateSla( within_3_days=1, within_8_days=0, beyond_8_days=2)), ) ], ), PracticeSummary( ods="Z98765", metrics=[ MonthlyMetrics( year=2020, month=1, requestor=RequestorMetrics( time_to_integrate_sla=TimeToIntegrateSla( within_3_days=0, within_8_days=5, beyond_8_days=2)), ) ], ), ], ) actual = construct_service_dashboard_data(sla_metrics, 2020, 1) assert actual == expected
def test_dashboard_data_has_correct_month_given_a_single_practice(): sla_metrics = [build_practice_sla_metrics(ods="A12345")] expected_month = 11 actual = construct_service_dashboard_data(sla_metrics, A_YEAR, 11) assert actual.practices[0].metrics[0].month == expected_month
def test_dashboard_data_has_correct_year_given_a_single_practice(): sla_metrics = [build_practice_sla_metrics(ods="A12345")] expected_year = 2019 actual = construct_service_dashboard_data(sla_metrics, 2019, A_MONTH) assert actual.practices[0].metrics[0].year == expected_year
def test_dashboard_data_has_correct_ods_given_a_single_practice(): sla_metrics = [build_practice_sla_metrics(ods="A12345")] expected_ods = "A12345" actual = construct_service_dashboard_data(sla_metrics, A_YEAR, A_MONTH) assert actual.practices[0].ods == expected_ods
def test_dashboard_data_has_correct_requestor_sla_metrics_given_single_practice( ): sla_metrics = [ build_practice_sla_metrics(within_3_days=1, within_8_days=0, beyond_8_days=2) ] expected_requestor_sla_metrics = TimeToIntegrateSla(within_3_days=1, within_8_days=0, beyond_8_days=2) actual = construct_service_dashboard_data(sla_metrics, A_YEAR, A_MONTH) time_to_integrate_sla = actual.practices[0].metrics[ 0].requestor.time_to_integrate_sla assert time_to_integrate_sla == expected_requestor_sla_metrics
import pytest from gp2gp.service.transformers import filter_practices from tests.builders.service import build_practice_sla_metrics PRACTICE_A = build_practice_sla_metrics(ods="A12345") ODS_CODE_A = "A12345" PRACTICE_B = build_practice_sla_metrics(ods="X67890") ODS_CODE_B = "X67890" ODS_CODE_C = "P54321" @pytest.mark.parametrize( ["practices", "ods_codes", "expected"], [ ([PRACTICE_A], {ODS_CODE_A}, [PRACTICE_A]), ([PRACTICE_A], {ODS_CODE_B}, []), ([PRACTICE_A, PRACTICE_B], {ODS_CODE_A}, [PRACTICE_A]), ([PRACTICE_A, PRACTICE_B], {ODS_CODE_A, ODS_CODE_B }, [PRACTICE_A, PRACTICE_B]), ([PRACTICE_A, PRACTICE_B], {ODS_CODE_A, ODS_CODE_C}, [PRACTICE_A]), ], ) def test_filter_practices(practices, ods_codes, expected): actual = filter_practices(practices, ods_codes) assert list(actual) == expected