示例#1
0
 def test_post_copy_vocab(self):
     self.assertFalse(RecordVocab.exists(self.testcoll, "copyvocab"))
     f = vocab_view_form_data(
         vocab_id="copyvocab",
         orig_id="annal",
         orig_coll="_annalist_site",
         action="copy",
         update="RecordVocab",
         vocab_uri=" test:copyvocab "  # Tests space stripping
     )
     u = entitydata_edit_url("copy",
                             "testcoll",
                             layout.VOCAB_TYPEID,
                             entity_id="annal",
                             view_id="Vocab_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     self.assertEqual(r['location'], self.continuation_url)
     # Check that new record type exists
     self._check_record_vocab_values("copyvocab",
                                     update="RecordVocab",
                                     vocab_uri="test:copyvocab")
     return
示例#2
0
 def test_post_edit_vocab_invalid_id(self):
     self._create_record_vocab("editvocab")
     self._check_record_vocab_values("editvocab")
     # Form post with invalid ID
     f = vocab_view_form_data(vocab_id="!badvocab",
                              orig_id="editvocab",
                              action="edit",
                              update="Updated RecordVocab")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             layout.VOCAB_TYPEID,
                             entity_id="editvocab",
                             view_id="Vocab_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>%s</h3>" % (message.RECORD_VOCAB_ID))
     # Test context
     self._check_context_fields(r,
                                action="edit",
                                vocab_id="!badvocab",
                                orig_vocab_id="editvocab",
                                update="Updated RecordVocab")
     # Check original data is unchanged
     self._check_record_vocab_values("editvocab")
     return
示例#3
0
 def test_post_new_vocab_cancel(self):
     self.assertFalse(RecordVocab.exists(self.testcoll, "newvocab"))
     f = vocab_view_form_data(vocab_id="newvocab",
                              action="new",
                              cancel="Cancel",
                              update="Updated RecordVocab")
     u = entitydata_edit_url("new",
                             "testcoll",
                             layout.VOCAB_TYPEID,
                             view_id="Vocab_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     self.assertEqual(r['location'], self.continuation_url)
     # Check that new record type still does not exist
     self.assertFalse(RecordVocab.exists(self.testcoll, "newvocab"))
     return
示例#4
0
 def test_post_edit_vocab_cancel(self):
     self._create_record_vocab("editvocab")
     self._check_record_vocab_values("editvocab")
     f = vocab_view_form_data(vocab_id="editvocab",
                              orig_id="editvocab",
                              action="edit",
                              cancel="Cancel",
                              update="Updated RecordVocab")
     u = entitydata_edit_url("edit",
                             "testcoll",
                             layout.VOCAB_TYPEID,
                             entity_id="editvocab",
                             view_id="Vocab_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     self.assertEqual(r['location'], self.continuation_url)
     # Check that target record type still does not exist and unchanged
     self._check_record_vocab_values("editvocab")
     return
示例#5
0
 def test_post_copy_vocab_missing_id(self):
     self._create_record_vocab("Default_vocab")
     f = vocab_view_form_data(action="copy",
                              orig_id="Default_vocab",
                              update="Updated RecordVocab")
     u = entitydata_edit_url("copy",
                             "testcoll",
                             layout.VOCAB_TYPEID,
                             entity_id="Default_vocab",
                             view_id="Vocab_view")
     r = self.client.post(u, f)
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>%s</h3>" % (message.RECORD_VOCAB_ID))
     # Test context
     self._check_context_fields(r,
                                action="copy",
                                vocab_id="",
                                orig_vocab_id="Default_vocab",
                                update="Updated RecordVocab")
     return
示例#6
0
 def test_post_new_vocab(self):
     self.assertFalse(RecordVocab.exists(self.testcoll, "newvocab"))
     f = vocab_view_form_data(vocab_id="newvocab",
                              action="new",
                              vocab_uri="test:newvocab",
                              update="RecordVocab")
     u = entitydata_edit_url("new",
                             "testcoll",
                             layout.VOCAB_TYPEID,
                             view_id="Vocab_view")
     r = self.client.post(u, f)
     # print r.content
     self.assertEqual(r.status_code, 302)
     self.assertEqual(r.reason_phrase, "FOUND")
     self.assertEqual(r.content, "")
     self.assertEqual(r['location'], self.continuation_url)
     # Check that new record type exists
     self._check_record_vocab_values("newvocab",
                                     update="RecordVocab",
                                     vocab_uri="test:newvocab")
     return
示例#7
0
 def test_post_new_vocab_missing_id(self):
     f = vocab_view_form_data(action="new", update="RecordVocab")
     u = entitydata_edit_url("new",
                             "testcoll",
                             layout.VOCAB_TYPEID,
                             view_id="Vocab_view")
     r = self.client.post(u, f)
     # print r.content
     self.assertEqual(r.status_code, 200)
     self.assertEqual(r.reason_phrase, "OK")
     self.assertContains(r, "<h3>%s</h3>" % (message.RECORD_VOCAB_ID))
     # Test context
     self._check_context_fields(
         r,
         action="new",
         vocab_id=None,
         orig_vocab_id="orig_vocab_id",
         vocab_label=None,
         vocab_descr=None,
         vocab_uri=None,
     )
     return