#103 test modèle diffusion

This commit is contained in:
Laurent Van Wambeke 2023-05-10 17:49:08 +02:00
parent bb596d59f6
commit ab31cab0bb

View File

@ -8,13 +8,16 @@ from aircox.models import Diffusion
class TestDiffusionQuerySet:
@pytest.mark.django_db
def test_episode_by_obj(self, episodes):
key_episode = episodes[1]
another_episode = episodes[2]
diffusions_with_the_key_episode = baker.make(Diffusion, _quantity=3, episode=key_episode)
diffusions_without_the_key_episode = baker.make(Diffusion, _quantity=3, episode=another_episode)
diffusions_with_the_key_episode = baker.make(
Diffusion, _quantity=3, episode=key_episode
)
diffusions_without_the_key_episode = baker.make(
Diffusion, _quantity=3, episode=another_episode
)
result = Diffusion.objects.episode(episode=key_episode)
for diffusion in diffusions_with_the_key_episode:
@ -26,22 +29,28 @@ class TestDiffusionQuerySet:
def test_episode_by_id(self, episodes):
key_episode = episodes[1]
another_episode = episodes[2]
diffusions_with_the_key_episode = baker.make(Diffusion, _quantity=3, episode=key_episode)
diffusions_without_the_key_episode = baker.make(Diffusion, _quantity=3, episode=another_episode)
diffusions_with_the_key_episode = baker.make(
Diffusion, _quantity=3, episode=key_episode
)
diffusions_without_the_key_episode = baker.make(
Diffusion, _quantity=3, episode=another_episode
)
result = Diffusion.objects.episode(id=key_episode.id)
for diffusion in diffusions_with_the_key_episode:
assert diffusion in result
for diffusion in diffusions_without_the_key_episode:
assert diffusion not in result
@pytest.mark.django_db
def test_on_air(self, episodes):
for episode in episodes:
random_type = random.choice([Diffusion.TYPE_ON_AIR, Diffusion.TYPE_UNCONFIRMED])
random_type = random.choice(
[Diffusion.TYPE_ON_AIR, Diffusion.TYPE_UNCONFIRMED]
)
baker.make(Diffusion, episode=episode, type=random_type)
result = Diffusion.objects.on_air()
for diffusion in result:
assert diffusion.type == Diffusion.TYPE_ON_AIR
assert diffusion.type != Diffusion.TYPE_UNCONFIRMED
@ -50,9 +59,24 @@ class TestDiffusionQuerySet:
def test_now(self, episodes):
now = tz.now()
random_episode = random.choice([episodes[1], episodes[0], episodes[2]])
now_diffusion = baker.make(Diffusion, episode=random_episode, start=now-timedelta(minutes=30), end=now+timedelta(minutes=30))
after_diffusion = baker.make(Diffusion, episode=random_episode, start=now+timedelta(minutes=30), end=now+timedelta(minutes=60))
before_diffusion = baker.make(Diffusion, episode=random_episode, start=now-timedelta(minutes=60), end=now-timedelta(minutes=30))
now_diffusion = baker.make(
Diffusion,
episode=random_episode,
start=now - timedelta(minutes=30),
end=now + timedelta(minutes=30),
)
after_diffusion = baker.make(
Diffusion,
episode=random_episode,
start=now + timedelta(minutes=30),
end=now + timedelta(minutes=60),
)
before_diffusion = baker.make(
Diffusion,
episode=random_episode,
start=now - timedelta(minutes=60),
end=now - timedelta(minutes=30),
)
result = Diffusion.objects.now(now=now, order=True)
assert len(result) == 1
@ -64,10 +88,28 @@ class TestDiffusionQuerySet:
today = datetime.date.today()
tomorrow = today + timedelta(days=1)
random_episode = random.choice([episodes[1], episodes[0], episodes[2]])
second_today_diffusion = baker.make(Diffusion, episode=random_episode, start=tz.datetime.combine(today, datetime.time.min) + timedelta(minutes=30), end=tz.datetime.combine(today, datetime.time.max) + timedelta(minutes=60))
first_today_diffusion = baker.make(Diffusion, episode=random_episode, start=tz.datetime.combine(today, datetime.time.min), end=tz.datetime.combine(today, datetime.time.max) + timedelta(minutes=30))
another_day_diffusion = baker.make(Diffusion, episode=random_episode, start=tz.datetime.combine(tomorrow, datetime.time.min), end=tz.datetime.combine(tomorrow, datetime.time.max))
second_today_diffusion = baker.make(
Diffusion,
episode=random_episode,
start=tz.datetime.combine(today, datetime.time.min)
+ timedelta(minutes=30),
end=tz.datetime.combine(today, datetime.time.max)
+ timedelta(minutes=60),
)
first_today_diffusion = baker.make(
Diffusion,
episode=random_episode,
start=tz.datetime.combine(today, datetime.time.min),
end=tz.datetime.combine(today, datetime.time.max)
+ timedelta(minutes=30),
)
another_day_diffusion = baker.make(
Diffusion,
episode=random_episode,
start=tz.datetime.combine(tomorrow, datetime.time.min),
end=tz.datetime.combine(tomorrow, datetime.time.max),
)
result = Diffusion.objects.date()
assert len(result) == 2
@ -79,22 +121,36 @@ class TestDiffusionQuerySet:
today = datetime.date.today()
tomorrow = today + timedelta(days=1)
random_episode = random.choice([episodes[1], episodes[0], episodes[2]])
first_today_diffusion = baker.make(Diffusion, episode=random_episode, start=tz.datetime.combine(today, datetime.time.min)-timedelta(minutes=30), end=tz.datetime.combine(today, datetime.time.min)+timedelta(minutes=30))
second_tomorrow_diffusion = baker.make(Diffusion, episode=random_episode, start=tz.datetime.combine(tomorrow, datetime.time.min)+timedelta(minutes=30), end=tz.datetime.combine(tomorrow, datetime.time.min)+timedelta(minutes=60))
first_tomorrow_diffusion = baker.make(Diffusion, episode=random_episode, start=tz.datetime.combine(tomorrow, datetime.time.min), end=tz.datetime.combine(tomorrow, datetime.time.min)+timedelta(minutes=60))
first_today_diffusion = baker.make(
Diffusion,
episode=random_episode,
start=tz.datetime.combine(today, datetime.time.min)
- timedelta(minutes=30),
end=tz.datetime.combine(today, datetime.time.min)
+ timedelta(minutes=30),
)
second_tomorrow_diffusion = baker.make(
Diffusion,
episode=random_episode,
start=tz.datetime.combine(tomorrow, datetime.time.min)
+ timedelta(minutes=30),
end=tz.datetime.combine(tomorrow, datetime.time.min)
+ timedelta(minutes=60),
)
first_tomorrow_diffusion = baker.make(
Diffusion,
episode=random_episode,
start=tz.datetime.combine(tomorrow, datetime.time.min),
end=tz.datetime.combine(tomorrow, datetime.time.min)
+ timedelta(minutes=60),
)
result = Diffusion.objects.date(date=tomorrow)
assert len(result) == 2
assert result[0] == first_tomorrow_diffusion
assert result[1] == second_tomorrow_diffusion
#@pytest.mark.django_db
#def test_at(self, episodes):
# @pytest.mark.django_db
# def test_at(self, episodes):
# date = datetime.date.today()