From b63d6766409cb4866163c35f82f8d3be452f824b Mon Sep 17 00:00:00 2001 From: MandelaK Date: Mon, 9 Sep 2019 11:04:19 +0300 Subject: [PATCH] ft(Tests) Test the `normalize_dates` helper function - Test that the `validate_dates` function works if dates are correct or wrong - Fix issue with past dates. Now we always use current dates in the tests [Finishes #168261941] --- .../tests/utils/test_helpers.py | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/server/graphql_schemas/tests/utils/test_helpers.py b/server/graphql_schemas/tests/utils/test_helpers.py index 6e7cb3da..70bc56f1 100644 --- a/server/graphql_schemas/tests/utils/test_helpers.py +++ b/server/graphql_schemas/tests/utils/test_helpers.py @@ -1,6 +1,12 @@ """Module that tests helper methods""" from unittest.mock import patch -from graphql_schemas.utils.helpers import update_event_status_on_calendar, remove_event_from_all_calendars +import datetime + +from graphql_schemas.utils.helpers import ( + update_event_status_on_calendar, + remove_event_from_all_calendars, + normalize_dates +) from api.tests.base_test_setup import BaseSetup @@ -65,3 +71,29 @@ def test_remove_event_from_all_calendar(self): self.assertEqual(mock_build.return_value.events.return_value.delete.called, True) self.assertEqual(mock_build.call_count, 1) mock_build_patcher.stop() + + def test_normalize_dates_function_success(self): + """ + Test that dates have to be in the present for them to be accepted + """ + start_date = datetime.date.today() + end_date = start_date + datetime.timedelta(days=1) + + result = normalize_dates(end_date, start_date, datetime.date.today()) + + self.assertEqual( + result, {'status': True, 'message': 'Validation successful'}) + + def test_normalize_dates_function_if_end_date_invalid(self): + """ + Test that the event must end in the future, after the event start date + """ + start_date = datetime.date.today() + datetime.timedelta(days=2) + end_date = datetime.date.today() + + result = normalize_dates(end_date, start_date, datetime.date.today()) + + self.assertEqual( + result, { + 'status': False, + 'message': 'Sorry, end date must be after start date'})