def test_can_update_options_associated_with_an_existing_poll(self): # Setup poll = TopicPollFactory.create(topic=self.topic) option_1 = TopicPollOptionFactory.create(poll=poll) option_2 = TopicPollOptionFactory.create(poll=poll) form_data = { 'form-0-id': option_1.pk, 'form-0-text': faker.text(max_nb_chars=100), 'form-1-id': option_2.pk, 'form-1-text': option_2.text, 'form-INITIAL_FORMS': 2, 'form-TOTAL_FORMS': 2, 'form-MAX_NUM_FORMS': 1000, } self.topic.refresh_from_db() # Run form = TopicPollOptionFormset( data=form_data, topic=self.topic) valid = form.is_valid() # Check assert valid form.save() option_1.refresh_from_db() assert option_1.text == form_data['form-0-text']
def test_append_empty_forms_only_when_no_initial_data_is_provided(self): # Setup poll = TopicPollFactory.create(topic=self.topic) option_1 = TopicPollOptionFactory.create(poll=poll) option_2 = TopicPollOptionFactory.create(poll=poll) form_data_1 = { 'form-0-id': option_1.pk, 'form-0-text': faker.text(max_nb_chars=100), 'form-1-id': option_2.pk, 'form-1-text': option_2.text, 'form-INITIAL_FORMS': 2, 'form-TOTAL_FORMS': 2, 'form-MAX_NUM_FORMS': 1000, } self.topic.refresh_from_db() # Run form_1 = TopicPollOptionFormset( data=form_data_1, topic=self.topic) form_2 = TopicPollOptionFormset(topic=self.topic) # poll already created form_3 = TopicPollOptionFormset(topic=self.alt_topic) # no poll # Check assert form_1.total_form_count() == 2 assert form_2.total_form_count() == 2 assert form_3.total_form_count() == 2
def test_cannot_validate_less_than_two_options(self): # Setup form_data = { 'form-0-id': '', 'form-0-text': faker.text(max_nb_chars=100), 'form-INITIAL_FORMS': 0, 'form-TOTAL_FORMS': 1, 'form-MAX_NUM_FORMS': 1000, } # Run form = TopicPollOptionFormset(data=form_data, topic=self.topic) valid = form.is_valid() # Check assert not valid
def test_cannot_validate_less_than_two_options(self): # Setup form_data = { 'form-0-id': '', 'form-0-text': faker.text(max_nb_chars=100), 'form-INITIAL_FORMS': 0, 'form-TOTAL_FORMS': 1, 'form-MAX_NUM_FORMS': 1000, } # Run form = TopicPollOptionFormset( data=form_data, topic=self.topic) valid = form.is_valid() # Check assert not valid