#103 test module diffusion
This commit is contained in:
parent
80f56b167e
commit
16d4325680
|
@ -7,6 +7,7 @@ from datetime import timedelta
|
||||||
import pytz
|
import pytz
|
||||||
from aircox.models import Diffusion
|
from aircox.models import Diffusion
|
||||||
|
|
||||||
|
|
||||||
# TODO déplacer fixutre dans conftest.py / rechercher si il y a une méthode plus lisible que celle utilisée dans ce test pour utiliser ces deux fixtures.
|
# TODO déplacer fixutre dans conftest.py / rechercher si il y a une méthode plus lisible que celle utilisée dans ce test pour utiliser ces deux fixtures.
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def diffusions_time_variation(episodes):
|
def diffusions_time_variation(episodes):
|
||||||
|
@ -46,7 +47,16 @@ def diffusions_time_variation(episodes):
|
||||||
start=yesterday_datetime,
|
start=yesterday_datetime,
|
||||||
end=yesterday_datetime + timedelta(minutes=30),
|
end=yesterday_datetime + timedelta(minutes=30),
|
||||||
)
|
)
|
||||||
return now_date, now_datetime, yesterday_diffusion, before_diffusion, now_diffusion, after_diffusion, tomorrow_diffusion
|
return (
|
||||||
|
now_date,
|
||||||
|
now_datetime,
|
||||||
|
yesterday_diffusion,
|
||||||
|
before_diffusion,
|
||||||
|
now_diffusion,
|
||||||
|
after_diffusion,
|
||||||
|
tomorrow_diffusion,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def diffusions_episode_variation(episodes):
|
def diffusions_episode_variation(episodes):
|
||||||
|
@ -58,15 +68,23 @@ def diffusions_episode_variation(episodes):
|
||||||
diffusions_without_the_key_episode = baker.make(
|
diffusions_without_the_key_episode = baker.make(
|
||||||
Diffusion, _quantity=3, episode=another_episode
|
Diffusion, _quantity=3, episode=another_episode
|
||||||
)
|
)
|
||||||
return key_episode, another_episode, diffusions_with_the_key_episode, diffusions_without_the_key_episode
|
return (
|
||||||
|
key_episode,
|
||||||
|
another_episode,
|
||||||
|
diffusions_with_the_key_episode,
|
||||||
|
diffusions_without_the_key_episode,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class TestDiffusionQuerySet:
|
class TestDiffusionQuerySet:
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_episode_by_obj(self, diffusions_episode_variation):
|
def test_episode_by_obj(self, diffusions_episode_variation):
|
||||||
key_episode = diffusions_episode_variation[0]
|
(
|
||||||
another_episode = diffusions_episode_variation[1]
|
key_episode,
|
||||||
diffusions_with_the_key_episode = diffusions_episode_variation[2]
|
_,
|
||||||
diffusions_without_the_key_episode = diffusions_episode_variation[3]
|
diffusions_with_the_key_episode,
|
||||||
|
diffusions_without_the_key_episode,
|
||||||
|
) = diffusions_episode_variation
|
||||||
result = Diffusion.objects.episode(episode=key_episode)
|
result = Diffusion.objects.episode(episode=key_episode)
|
||||||
|
|
||||||
for diffusion in diffusions_with_the_key_episode:
|
for diffusion in diffusions_with_the_key_episode:
|
||||||
|
@ -76,10 +94,12 @@ class TestDiffusionQuerySet:
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_episode_by_id(self, diffusions_episode_variation):
|
def test_episode_by_id(self, diffusions_episode_variation):
|
||||||
key_episode = diffusions_episode_variation[0]
|
(
|
||||||
another_episode = diffusions_episode_variation[1]
|
key_episode,
|
||||||
diffusions_with_the_key_episode = diffusions_episode_variation[2]
|
_,
|
||||||
diffusions_without_the_key_episode = diffusions_episode_variation[3]
|
diffusions_with_the_key_episode,
|
||||||
|
diffusions_without_the_key_episode,
|
||||||
|
) = diffusions_episode_variation
|
||||||
result = Diffusion.objects.episode(id=key_episode.id)
|
result = Diffusion.objects.episode(id=key_episode.id)
|
||||||
|
|
||||||
for diffusion in diffusions_with_the_key_episode:
|
for diffusion in diffusions_with_the_key_episode:
|
||||||
|
@ -106,11 +126,17 @@ class TestDiffusionQuerySet:
|
||||||
# la méthode distinct élimine les doublons de diffusions (si ils ont des valeurs identiques pour tous les champs de la db)
|
# la méthode distinct élimine les doublons de diffusions (si ils ont des valeurs identiques pour tous les champs de la db)
|
||||||
# TODO test si il y a doublon qu'un seul objet soit récupéré.
|
# TODO test si il y a doublon qu'un seul objet soit récupéré.
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_now_test(self, episodes, diffusions_time_variation):
|
def test_now_test(self, diffusions_time_variation):
|
||||||
now = tz.now()
|
now = tz.now()
|
||||||
now_diffusion = diffusions_time_variation[4]
|
(
|
||||||
after_diffusion = diffusions_time_variation[5]
|
_,
|
||||||
before_diffusion = diffusions_time_variation[3]
|
_,
|
||||||
|
_,
|
||||||
|
_,
|
||||||
|
now_diffusion,
|
||||||
|
_,
|
||||||
|
_,
|
||||||
|
) = diffusions_time_variation
|
||||||
result = Diffusion.objects.now(now=now, order=True)
|
result = Diffusion.objects.now(now=now, order=True)
|
||||||
|
|
||||||
assert len(result) == 1
|
assert len(result) == 1
|
||||||
|
@ -124,9 +150,15 @@ class TestDiffusionQuerySet:
|
||||||
# elle filtre ensuite les diffusions qui ont lieu entre "start" et "end".
|
# elle filtre ensuite les diffusions qui ont lieu entre "start" et "end".
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_date_without_date_arg(self, diffusions_time_variation):
|
def test_date_without_date_arg(self, diffusions_time_variation):
|
||||||
now_diffusion = diffusions_time_variation[4]
|
(
|
||||||
after_diffusion = diffusions_time_variation[5]
|
_,
|
||||||
before_diffusion = diffusions_time_variation[3]
|
_,
|
||||||
|
_,
|
||||||
|
before_diffusion,
|
||||||
|
now_diffusion,
|
||||||
|
after_diffusion,
|
||||||
|
_,
|
||||||
|
) = diffusions_time_variation
|
||||||
result = Diffusion.objects.date()
|
result = Diffusion.objects.date()
|
||||||
|
|
||||||
assert len(result) == 3
|
assert len(result) == 3
|
||||||
|
@ -138,8 +170,15 @@ class TestDiffusionQuerySet:
|
||||||
def test_date_with_date_arg(self, diffusions_time_variation):
|
def test_date_with_date_arg(self, diffusions_time_variation):
|
||||||
today_date = datetime.date.today()
|
today_date = datetime.date.today()
|
||||||
tomorrow_date = today_date + timedelta(days=1)
|
tomorrow_date = today_date + timedelta(days=1)
|
||||||
today_diffusion = diffusions_time_variation[4]
|
(
|
||||||
tomorrow_diffusion = diffusions_time_variation[6]
|
_,
|
||||||
|
_,
|
||||||
|
_,
|
||||||
|
_,
|
||||||
|
_,
|
||||||
|
_,
|
||||||
|
tomorrow_diffusion,
|
||||||
|
) = diffusions_time_variation
|
||||||
result = Diffusion.objects.date(date=tomorrow_date)
|
result = Diffusion.objects.date(date=tomorrow_date)
|
||||||
|
|
||||||
assert len(result) == 1
|
assert len(result) == 1
|
||||||
|
@ -150,22 +189,32 @@ class TestDiffusionQuerySet:
|
||||||
# elle utilise la méthode date si la date est un objet date
|
# elle utilise la méthode date si la date est un objet date
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_at_datetimeobj(self, diffusions_time_variation):
|
def test_at_datetimeobj(self, diffusions_time_variation):
|
||||||
today_datetime = diffusions_time_variation[1]
|
(
|
||||||
now_diffusion = diffusions_time_variation[4]
|
_,
|
||||||
after_diffusion = diffusions_time_variation[5]
|
now_datetime,
|
||||||
before_diffusion = diffusions_time_variation[3]
|
_,
|
||||||
result = Diffusion.objects.at(date=today_datetime)
|
_,
|
||||||
|
now_diffusion,
|
||||||
|
_,
|
||||||
|
_,
|
||||||
|
) = diffusions_time_variation
|
||||||
|
result = Diffusion.objects.at(date=now_datetime)
|
||||||
|
|
||||||
|
assert len(result) == 1
|
||||||
assert now_diffusion in result
|
assert now_diffusion in result
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_at_dateobj(self, episodes, diffusions_time_variation):
|
def test_at_dateobj(self, diffusions_time_variation):
|
||||||
today_date = diffusions_time_variation[0]
|
(
|
||||||
after_diffusion = diffusions_time_variation[5]
|
now_date,
|
||||||
now_diffusion = diffusions_time_variation[4]
|
_,
|
||||||
before_diffusion = diffusions_time_variation[3]
|
_,
|
||||||
another_day_diffusion = diffusions_time_variation[6]
|
before_diffusion,
|
||||||
result = Diffusion.objects.at(date=today_date)
|
now_diffusion,
|
||||||
|
after_diffusion,
|
||||||
|
_,
|
||||||
|
) = diffusions_time_variation
|
||||||
|
result = Diffusion.objects.at(date=now_date)
|
||||||
|
|
||||||
assert len(result) == 3
|
assert len(result) == 3
|
||||||
assert result[0] == before_diffusion
|
assert result[0] == before_diffusion
|
||||||
|
@ -174,9 +223,15 @@ class TestDiffusionQuerySet:
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_after_without_date_arg(self, diffusions_time_variation):
|
def test_after_without_date_arg(self, diffusions_time_variation):
|
||||||
yesterday_diffusion = diffusions_time_variation[2]
|
(
|
||||||
now_diffusion = diffusions_time_variation[4]
|
_,
|
||||||
tomorrow_diffusion = diffusions_time_variation[6]
|
_,
|
||||||
|
yesterday_diffusion,
|
||||||
|
_,
|
||||||
|
now_diffusion,
|
||||||
|
_,
|
||||||
|
tomorrow_diffusion,
|
||||||
|
) = diffusions_time_variation
|
||||||
from_now_diffusions = Diffusion.objects.after()
|
from_now_diffusions = Diffusion.objects.after()
|
||||||
|
|
||||||
assert tomorrow_diffusion in from_now_diffusions
|
assert tomorrow_diffusion in from_now_diffusions
|
||||||
|
@ -185,18 +240,40 @@ class TestDiffusionQuerySet:
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_after_with_datetime_arg(self, diffusions_time_variation):
|
def test_after_with_datetime_arg(self, diffusions_time_variation):
|
||||||
now_datetime = diffusions_time_variation[1]
|
(
|
||||||
yesterday_diffusion = diffusions_time_variation[2]
|
_,
|
||||||
now_diffusion = diffusions_time_variation[4]
|
now_datetime,
|
||||||
tomorrow_diffusion = diffusions_time_variation[6]
|
yesterday_diffusion,
|
||||||
|
before_diffusion,
|
||||||
|
now_diffusion,
|
||||||
|
after_diffusion,
|
||||||
|
tomorrow_diffusion,
|
||||||
|
) = diffusions_time_variation
|
||||||
from_now_diffusions = Diffusion.objects.after(date=now_datetime)
|
from_now_diffusions = Diffusion.objects.after(date=now_datetime)
|
||||||
|
|
||||||
assert tomorrow_diffusion in from_now_diffusions
|
assert tomorrow_diffusion in from_now_diffusions
|
||||||
|
assert after_diffusion in from_now_diffusions
|
||||||
assert now_diffusion in from_now_diffusions
|
assert now_diffusion in from_now_diffusions
|
||||||
|
assert before_diffusion not in from_now_diffusions
|
||||||
assert yesterday_diffusion not in from_now_diffusions
|
assert yesterday_diffusion not in from_now_diffusions
|
||||||
|
|
||||||
#@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
#def test_after_with_date_arg():
|
def test_after_with_date_arg(self, diffusions_time_variation):
|
||||||
# pass
|
(
|
||||||
|
now_date,
|
||||||
|
_,
|
||||||
|
yesterday_diffusion,
|
||||||
|
before_diffusion,
|
||||||
|
now_diffusion,
|
||||||
|
after_diffusion,
|
||||||
|
tomorrow_diffusion,
|
||||||
|
) = diffusions_time_variation
|
||||||
|
from_today_diffusions = Diffusion.objects.after(date=now_date)
|
||||||
|
|
||||||
|
#assert now_date == 'today'
|
||||||
|
assert tomorrow_diffusion in from_today_diffusions
|
||||||
|
assert after_diffusion in from_today_diffusions
|
||||||
|
assert now_diffusion in from_today_diffusions
|
||||||
|
assert before_diffusion in from_today_diffusions
|
||||||
|
assert yesterday_diffusion not in from_today_diffusions
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user