- add relevant test to ensure doesn't happen again - fix test_today_before_publish_time Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
from django.test import TestCase
|
|
from unittest import mock
|
|
from app.utils import verify_date
|
|
import datetime
|
|
|
|
# Create your tests here.
|
|
class StubDate(datetime.datetime):
|
|
pass
|
|
|
|
|
|
class TestApp(TestCase):
|
|
"""Test app utils.
|
|
|
|
Publish time: datetime.datetime(2021, 2, 14, 12, 30)
|
|
"""
|
|
|
|
@mock.patch('app.utils.datetime.datetime', StubDate)
|
|
def test_today_before_publish_time(self):
|
|
StubDate.now = classmethod(lambda cls: datetime.datetime(2021, 2, 12, 8, 0, 0))
|
|
date, _ = verify_date('2021-02-12', '')
|
|
self.assertEqual(date.date(), datetime.datetime(2021, 2, 11).date())
|
|
|
|
@mock.patch('app.utils.datetime.datetime', StubDate)
|
|
def test_today_after_publish_time(self):
|
|
StubDate.now = classmethod(lambda cls: datetime.datetime(2021, 2, 12, 13, 0, 0))
|
|
date, _ = verify_date('2021-02-14', '')
|
|
self.assertEqual(date.date(), datetime.datetime(2021, 2, 12).date())
|
|
|
|
@mock.patch('app.utils.datetime.datetime', StubDate)
|
|
def test_weekend_returns_friday(self):
|
|
StubDate.now = classmethod(lambda cls: datetime.datetime(2021, 2, 14, 13, 0, 0))
|
|
date, _ = verify_date('2021-02-14', '')
|
|
self.assertEqual(date.date(), datetime.datetime(2021, 2, 12).date())
|
|
|
|
@mock.patch('app.utils.datetime.datetime', StubDate)
|
|
def test_a_future_date(self):
|
|
StubDate.now = classmethod(lambda cls: datetime.datetime(2021, 2, 15, 13, 0, 0))
|
|
date, _ = verify_date('2021-02-20', '')
|
|
self.assertEqual(date.date(), datetime.datetime(2021, 2, 15).date())
|
|
|
|
@mock.patch('app.utils.datetime.datetime', StubDate)
|
|
def test_monday_before_publish_time(self):
|
|
StubDate.now = classmethod(lambda cls: datetime.datetime(2021, 2, 15, 8, 0, 0))
|
|
date, _ = verify_date('2021-02-15', '')
|
|
self.assertEqual(date.date(), datetime.datetime(2021, 2, 12).date())
|
|
|