def test_init_instances(self): model = Model.objects.create(field1=4) post = {'form0-field1': 1} form = ModelFormSet(post, form_class=ModelForm, repeat=1, instances=[model]) form.save() self.assertEquals(Model.objects.count(), 1)
def test_init(self): ## Form class must be modelform self.assertRaises(ValueError, lambda: ModelFormSet(form_class=Form1, repeat=2)) post = {'form0-field1': 1, 'form1-field1': 2} form = ModelFormSet(post, form_class=ModelForm, repeat=2) form.save() self.assertEquals(Model.objects.count(), 2)
def test_empty_forms(self): post = {'form0-field1': 7} form = ModelFormSet(post, form_class=ModelForm, repeat=5, min_valid=1, instances=Model.objects.all()) self.assertTrue(form.is_valid()) form.save() self.assertEquals(Model.objects.count(), 1)
def test_init_queryset(self): post = {} for i in range(0, 5): _ = Model.objects.create(field1=i) post['form{0}-field1'.format(i)] = 0 s = Model.objects.all().aggregate(Sum('field1'))['field1__sum'] self.assertEquals(s, 10) form = ModelFormSet(post, form_class=ModelForm, repeat=5, instances=Model.objects.all()) form.save() s = Model.objects.all().aggregate(Sum('field1'))['field1__sum'] self.assertEquals(s, 0)
def test_save(self): post = {'form0-field1': 1, 'form1-field1': 2} form = ModelFormSet(post, form_class=ModelForm, repeat=2) objs = form.save() self.assertEquals(len(objs), 2) ### TODO: test rollback