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()
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()
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
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)
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