コード例 #1
0
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)
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
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
コード例 #5
0
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
コード例 #6
0
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
コード例 #7
0
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