def create_form_data(): unit = Unit.objects.get(slug='cmpt') fg = FormGroup(name="Admins", unit=unit) fg.save() FormGroupMember(formgroup=fg, person=Person.objects.get(userid='ggbaker')).save() FormGroupMember(formgroup=fg, person=Person.objects.get(userid='classam')).save() f1 = Form(title="Simple Form", owner=fg, unit=fg.unit, description="Simple test form.", initiators='ANY') f1.save() s1 = Sheet(form=f1, title="Initial sheet") s1.save() fld1 = Field(label='Favorite Color', sheet=s1, fieldtype='SMTX', config={"min_length": 1, "required": True, "max_length": "100", 'label': 'Favorite Color', "help_text":''}) fld1.save() fld2 = Field(label='Reason', sheet=s1, fieldtype='MDTX', config={"min_length": 10, "required": True, "max_length": "400", 'label': 'Reason', "help_text":'Why?'}) fld2.save() fld3 = Field(label='Second Favorite Color', sheet=s1, fieldtype='SMTX', config={"min_length": 1, "required": False, "max_length": "100", 'label': 'Second Favorite Color', "help_text":''}) fld3.save() f2 = Form(title="Appeal Form", owner=fg, unit=fg.unit, description="An all-purpose appeal form to appeal things with", initiators='LOG', advisor_visible=True) f2.save() s2 = Sheet(form=f2, title="Student Appeal") s2.save() fld4 = Field(label='Appeal', sheet=s2, fieldtype='SMTX', config={"min_length": 1, "required": True, "max_length": "100", 'label': 'Appeal', "help_text":'What do you want to appeal?'}) fld4.save() fld4 = Field(label='Reasons', sheet=s2, fieldtype='LGTX', config={"min_length": 1, "required": True, "max_length": "1000", 'label': 'Reasons', "help_text":'Why do you think you deserve it?'}) fld4.save() fld5 = Field(label='Prediction', sheet=s2, fieldtype='RADI', config={ "required": False, 'label': 'Prediction', "help_text":"Do you think it's likely this will be approved?", "choice_1": "Yes", "choice_2": "No", "choice_3": "Huh?"}) fld5.save() s3 = Sheet(form=f2, title="Decision", can_view="ALL") s3.save() fld5 = Field(label='Decision', sheet=s3, fieldtype='RADI', config={ "required": True, 'label': 'Decision', "help_text":"Do you approve this appeal?", "choice_1": "Yes", "choice_2": "No", "choice_3": "See comments"}) fld5.save() fld6 = Field(label='Comments', sheet=s3, fieldtype='MDTX', config={"min_length": 1, "required": False, "max_length": "1000", 'label': 'Comments', "help_text":'Any additional comments'}) fld6.save()
def test_coherence_mixin(self): """ Make sure .active and .original are getting manipulated correctly. """ # create new form form = Form(title="Test Form", unit=self.unit, owner=FormGroup.objects.all()[0]) form.save() orig_form_id = form.id self.assertEqual(form.active, True) self.assertEqual(form.original_id, orig_form_id) # make a clone and save form = form.clone() form.save() # check the state of the forms self.assertEqual(form.active, True) self.assertEqual(form.original_id, orig_form_id) self.assertNotEqual(form.id, orig_form_id) orig_form = Form.objects.get(id=orig_form_id) self.assertEqual(orig_form.original_id, orig_form_id) self.assertEqual(orig_form.active, False) # create a sheet sheet = Sheet(form=form, title="Test Sheet", is_initial=True) sheet.save() orig_sheet_id = sheet.id self.assertEqual(sheet.active, True) self.assertEqual(sheet.original_id, orig_sheet_id) # fake a same-original sheet on another version of the form sheetX = Sheet(form=orig_form, title="Test Sheet", is_initial=True, original=sheet.original) sheetX.save() # make a clone and save sheet = sheet.clone() sheet.save() # check the state of the forms self.assertEqual(sheet.active, True) self.assertEqual(sheet.original_id, orig_sheet_id) self.assertNotEqual(sheet.id, orig_sheet_id) orig_sheet = Sheet.objects.get(id=orig_sheet_id) self.assertEqual(orig_sheet.original_id, orig_sheet_id) self.assertEqual(orig_sheet.active, False) self.assertEqual( sheetX.active, True ) # cousin shouldn't be deactivated, since it's on a different version of the form
def test_coherence_mixin(self): """ Make sure .active and .original are getting manipulated correctly. """ # create new form form = Form(title="Test Form", unit=self.unit, owner=FormGroup.objects.all()[0]) form.save() orig_form_id = form.id self.assertEqual(form.active, True) self.assertEqual(form.original_id, orig_form_id) # make a clone and save form = form.clone() form.save() # check the state of the forms self.assertEqual(form.active, True) self.assertEqual(form.original_id, orig_form_id) self.assertNotEqual(form.id, orig_form_id) orig_form = Form.objects.get(id=orig_form_id) self.assertEqual(orig_form.original_id, orig_form_id) self.assertEqual(orig_form.active, False) # create a sheet sheet = Sheet(form=form, title="Test Sheet", is_initial=True) sheet.save() orig_sheet_id = sheet.id self.assertEqual(sheet.active, True) self.assertEqual(sheet.original_id, orig_sheet_id) # fake a same-original sheet on another version of the form sheetX = Sheet(form=orig_form, title="Test Sheet", is_initial=True, original=sheet.original) sheetX.save() # make a clone and save sheet = sheet.clone() sheet.save() # check the state of the forms self.assertEqual(sheet.active, True) self.assertEqual(sheet.original_id, orig_sheet_id) self.assertNotEqual(sheet.id, orig_sheet_id) orig_sheet = Sheet.objects.get(id=orig_sheet_id) self.assertEqual(orig_sheet.original_id, orig_sheet_id) self.assertEqual(orig_sheet.active, False) self.assertEqual(sheetX.active, True) # cousin shouldn't be deactivated, since it's on a different version of the form