Files
website-v2/libraries/tests/test_managers.py
2023-06-21 15:20:42 -07:00

44 lines
1.4 KiB
Python

from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
from model_bakery import baker
from ..models import CommitData
def test_get_annual_commit_data_for_library(library):
five_years_ago = datetime.now().date().replace(year=datetime.now().year - 5)
for i in range(5):
date = five_years_ago.replace(year=five_years_ago.year + i)
baker.make(
"libraries.CommitData",
library=library,
month_year=date,
commit_count=i + 1,
branch="master",
)
result = CommitData.objects.get_annual_commit_data_for_library(library)
assert len(result) == 5
for i, data in enumerate(result):
assert data["year"] == five_years_ago.year + i
assert data["commit_count"] == i + 1
def test_get_commit_data_for_last_12_months_for_library(library):
one_year_ago = datetime.now().date() - timedelta(days=365)
for i in range(12):
date = one_year_ago + relativedelta(months=i)
baker.make(
"libraries.CommitData",
library=library,
month_year=date,
commit_count=i + 1,
branch="master",
)
result = CommitData.objects.get_commit_data_for_last_12_months_for_library(library)
assert len(result) == 12
for i, data in enumerate(result):
assert data["month_year"] == one_year_ago + relativedelta(months=i)
assert data["commit_count"] == i + 1