Improve stats view testing with another user

This commit is contained in:
David Larlet 2023-05-23 12:09:10 -04:00
parent deb0ab09d3
commit 6f72df82b7
2 changed files with 16 additions and 3 deletions

View file

@ -2,6 +2,7 @@ import shutil
import tempfile import tempfile
import pytest import pytest
from django.core.cache import cache
from django.core.signing import get_cookie_signer from django.core.signing import get_cookie_signer
from .base import DataLayerFactory, MapFactory, UserFactory from .base import DataLayerFactory, MapFactory, UserFactory
@ -12,6 +13,7 @@ TMP_ROOT = tempfile.mkdtemp()
def pytest_configure(config): def pytest_configure(config):
from django.conf import settings from django.conf import settings
settings.MEDIA_ROOT = TMP_ROOT settings.MEDIA_ROOT = TMP_ROOT
@ -19,11 +21,20 @@ def pytest_unconfigure(config):
shutil.rmtree(TMP_ROOT, ignore_errors=True) shutil.rmtree(TMP_ROOT, ignore_errors=True)
def pytest_runtest_teardown():
cache.clear()
@pytest.fixture @pytest.fixture
def user(): def user():
return UserFactory(password="123123") return UserFactory(password="123123")
@pytest.fixture
def user2():
return UserFactory(username="Averell", password="456456")
@pytest.fixture @pytest.fixture
def licence(): def licence():
# Should be created by the migrations. # Should be created by the migrations.

View file

@ -1,6 +1,6 @@
import json import json
import socket import socket
from datetime import date from datetime import date, timedelta
import pytest import pytest
from django.conf import settings from django.conf import settings
@ -150,13 +150,15 @@ def test_stats_empty(client):
@pytest.mark.django_db @pytest.mark.django_db
def test_stats_basic(client, map, datalayer): def test_stats_basic(client, map, datalayer, user2):
map.owner.last_login = date.today() map.owner.last_login = date.today()
map.owner.save() map.owner.save()
user2.last_login = date.today() - timedelta(days=8)
user2.save()
response = client.get(reverse("stats")) response = client.get(reverse("stats"))
assert json.loads(response.content.decode()) == { assert json.loads(response.content.decode()) == {
"maps_active_last_week_count": 1, "maps_active_last_week_count": 1,
"maps_count": 1, "maps_count": 1,
"users_active_last_week_count": 1, "users_active_last_week_count": 1,
"users_count": 1, "users_count": 2,
} }