"""build_moodle_completions_summary reads Moodle DataPoints (not any LMS model)."""
import pytest

from apps.mel.indicators.seeders.indicators_seeder import seed_indicators
from apps.mel.indicators.services import record_automated_point
from apps.mel.reports.builders import build_moodle_completions_summary

pytestmark = pytest.mark.django_db


def test_moodle_completions_summary_sums_datapoints():
    seed_indicators()

    # Two completions + one enrolment recorded by the Moodle pull.
    record_automated_point(
        indicator_code="moodle-courses-completed", source_module="moodle",
        source_event="course_completed", source_object_id="completion:1:2",
    )
    record_automated_point(
        indicator_code="moodle-courses-completed", source_module="moodle",
        source_event="course_completed", source_object_id="completion:2:2",
    )
    record_automated_point(
        indicator_code="moodle-enrolments", source_module="moodle",
        source_event="enrolment_created", source_object_id="enrol:1:2",
    )

    out = build_moodle_completions_summary()
    assert out["installed"] is True
    assert out["course_completions"] == 2
    assert out["enrolments"] == 1
