Ejemplo n.º 1
0
def get_current_month_site_metrics(site, **_kwargs):
    """
    TODO: put the metric names and functions in a dict and iterate. This then
    will let up dynamically retrieve fields for the monthly metrics this function
    returns
    """
    date_for = datetime.datetime.utcnow().date()
    start_date = datetime.date(year=date_for.year, month=date_for.month, day=1)
    end_date = datetime.date(year=date_for.year,
                             month=date_for.month,
                             day=days_in_month(date_for))

    active_users = get_active_users_for_time_period(site=site,
                                                    start_date=start_date,
                                                    end_date=end_date)
    registered_users = get_total_site_users_for_time_period(
        site=site, start_date=start_date, end_date=end_date)
    new_users = get_total_site_users_joined_for_time_period(
        site=site, start_date=start_date, end_date=end_date)
    site_courses = get_total_site_courses_for_time_period(
        site=site, start_date=start_date, end_date=end_date)
    course_enrollments = get_total_enrollments_for_time_period(
        site=site, start_date=start_date, end_date=end_date)
    course_completions = get_total_course_completions_for_time_period(
        site=site, start_date=start_date, end_date=end_date)
    return dict(active_users=active_users,
                registered_users=registered_users,
                new_users=new_users,
                site_courses=site_courses,
                course_enrollments=course_enrollments,
                course_completions=course_completions)
Ejemplo n.º 2
0
def test_certificate_metrics(cdm_test_data):
    date_for = cdm_test_data['mock_today']
    site = cdm_test_data['our_site']
    expected_cert_count = cdm_test_data['expected_cert_count']
    freezer = freeze_time(date_for)
    freezer.start()

    start_date = date(year=date_for.year, month=date_for.month, day=1)
    end_date = date(year=date_for.year,
                    month=date_for.month,
                    day=days_in_month(date_for))

    count = get_total_course_completions_for_time_period(site=site,
                                                         start_date=start_date,
                                                         end_date=end_date)
    freezer.stop()
    assert count == expected_cert_count