Example #1
0
 def test_form_accepts_YYYY_MM_DD_date(self):
     date_string = "2021-12-31"
     date_parts = date_string.split("-")
     form_data = {
         "changed_value_for_target_completion_date_year": date_parts[0],
         "changed_value_for_target_completion_date_month": date_parts[1],
         "changed_value_for_target_completion_date_day": date_parts[2],
     }
     form = CompletionDateForm(data=form_data,
                               instance=self.strategic_action_update)
     assert form.is_valid()
Example #2
0
 def test_form_rejects_malformed_date(self):
     date_string = "202-x-y"
     date_parts = date_string.split("-")
     form_data = {
         "changed_value_for_target_completion_date_year": date_parts[0],
         "changed_value_for_target_completion_date_month": date_parts[1],
         "changed_value_for_target_completion_date_day": date_parts[2],
     }
     form = CompletionDateForm(
         data={"changed_value_for_target_completion_date": form_data},
         instance=self.strategic_action_update,
     )
     assert not form.is_valid()
Example #3
0
 def test_completion_date_change_submitted_does_not_change_strategic_action_completion_date(
     self, ):
     # be sure where we're starting from
     # apparently the fancy term for this is a "Guard Assertion" :-)
     new_completion_date = self.current_completion_date + relativedelta(
         months=+6)
     assert self.strategic_action.target_completion_date != new_completion_date
     date_string = "2022-12-31"
     date_parts = date_string.split("-")
     form_data = {
         "changed_value_for_target_completion_date_year": date_parts[0],
         "changed_value_for_target_completion_date_month": date_parts[1],
         "changed_value_for_target_completion_date_day": date_parts[2],
     }
     form = CompletionDateForm(data=form_data,
                               instance=self.strategic_action)
     form.is_valid()
     saved_instance = form.save()
     self.strategic_action.refresh_from_db()
     assert self.strategic_action.target_completion_date != new_completion_date
Example #4
0
 def test_completion_date_change_submitted_sets_strategic_action_update_changed_completion_date(
     self, ):
     new_completion_date = self.current_completion_date + relativedelta(
         months=+6)
     assert self.strategic_action.target_completion_date != new_completion_date
     assert (self.strategic_action_update.
             changed_value_for_target_completion_date is None)
     date_string = new_completion_date.strftime("%Y-%m-%d")
     date_parts = date_string.split("-")
     form_data = {
         "changed_value_for_target_completion_date_year": date_parts[0],
         "changed_value_for_target_completion_date_month": date_parts[1],
         "changed_value_for_target_completion_date_day": date_parts[2],
     }
     form = CompletionDateForm(data=form_data,
                               instance=self.strategic_action_update)
     assert form.is_valid()
     saved_instance: StrategicActionUpdate = form.save()
     assert (saved_instance.changed_value_for_target_completion_date ==
             new_completion_date)
Example #5
0
    def test_form_saves_the_date_on_the_strategic_action_update(self):
        date_string = "2021-12-31"
        date_parts = date_string.split("-")
        form_data = {
            "changed_value_for_target_completion_date_year": date_parts[0],
            "changed_value_for_target_completion_date_month": date_parts[1],
            "changed_value_for_target_completion_date_day": date_parts[2],
        }

        self.strategic_action_update.changed_value_for_target_completion_date = None
        assert (self.strategic_action_update.
                changed_value_for_target_completion_date is None)
        form = CompletionDateForm(data=form_data,
                                  instance=self.strategic_action_update)
        assert form.is_valid()
        saved_instance: StrategicActionUpdate = form.save()
        assert saved_instance.pk is not None
        assert saved_instance.changed_value_for_target_completion_date is not None
        expected_date = date.fromisoformat(date_string)
        assert expected_date == saved_instance.changed_value_for_target_completion_date