Esempio n. 1
0
 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']
Esempio n. 2
0
 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
Esempio n. 3
0
 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
Esempio n. 4
0
 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