Exemplo n.º 1
0
 def test_change_lab_with_perms(self):
     data = model_to_dict(self.study)
     data["lab"] = self.second_lab.id
     form = StudyEditForm(data=data,
                          instance=self.study,
                          user=self.study_admin)
     # make sure clean is actually called before moving on!
     form.is_valid()
     self.assertEqual(form.cleaned_data["lab"].id, self.second_lab.id)
     self.assertNotIn("lab", form.errors)
Exemplo n.º 2
0
 def test_change_lab_without_perms(self):
     data = model_to_dict(self.study)
     data["lab"] = self.second_lab.id
     form = StudyEditForm(data=data,
                          instance=self.study,
                          user=self.study_designer)
     # make sure clean is actually called before moving on!
     form.is_valid()
     # Field is disabled, rather than limiting options, so just check cleaned data is unchanged
     self.assertEqual(form.cleaned_data["lab"].id, self.study.lab.id)
Exemplo n.º 3
0
 def test_change_to_invalid_lab(self):
     data = model_to_dict(self.study)
     data["lab"] = self.other_lab.id
     form = StudyEditForm(data=data,
                          instance=self.study,
                          user=self.study_admin)
     form.is_valid()
     self.assertIn("lab", form.errors)
     self.assertIn(
         "Select a valid choice. That choice is not one of the available choices.",
         form.errors["lab"],
     )
Exemplo n.º 4
0
 def test_valid_structure_accepted(self):
     data = model_to_dict(self.study)
     structure_text = """{
         "frames": {"frame-a": {}, "frame-b": {}}, 
         "sequence": ["frame-a", "frame-b"]
     }"""
     data["structure"] = structure_text
     form = StudyEditForm(data=data,
                          instance=self.study,
                          user=self.study_designer)
     self.assertNotIn("structure", form.errors)
     form.is_valid()
     self.assertDictEqual(
         form.cleaned_data["structure"],
         {
             "frames": {
                 "frame-a": {},
                 "frame-b": {}
             },
             "sequence": ["frame-a", "frame-b"],
             "exact_text": structure_text,
         },
     )