def test_post_view_entity_edit(self): self._create_entity_data("entityview") f = entitydata_default_view_form_data(entity_id="entityview", action="view", edit="Edit") u = entitydata_edit_url("view", "testcoll", "testtype", entity_id="entityview", view_id="Default_view") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") e = TestHostUri + entitydata_edit_url("edit", "testcoll", "testtype", entity_id="entityview", view_id="Default_view") l = continuation_url_param( entitydata_list_type_url("testcoll", "testtype")) c = continuation_url_param(u, prev_cont=l) self.assertIn(e, r['location']) self.assertIn(c, r['location']) # 'http://test.example.com/testsite/c/testcoll/v/Default_view/testtype/entityview/!edit # ?continuation_url=/testsite/c/testcoll/v/Default_view/testtype/entityview/!view # %3Fcontinuation_url=/testsite/c/testcoll/d/testtype/' return
def test_post_view_entity_copy(self): self._create_entity_data("entityview") f = entitydata_default_view_form_data(entity_id="entityview", action="view", copy="Copy") u = entitydata_edit_url("view", "testcoll", "testtype", entity_id="entityview", view_id="Default_view") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") e = TestHostUri + entitydata_edit_url("copy", "testcoll", "testtype", entity_id="entityview", view_id="Default_view") l = continuation_url_param( entitydata_list_type_url("testcoll", "testtype")) c = continuation_url_param(u, prev_cont=l) self.assertIn(e, r['location']) self.assertIn(c, r['location']) return
def test_post_customize(self): f = entitylist_form_data("customize", continuation_url="/xyzxy/") u = entitydata_list_all_url("testcoll") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + collection_edit_url("testcoll") c = continuation_url_param(u, continuation_url_param("/xyzxy/")) self.assertIn(v, r['location']) self.assertIn(c, r['location']) return
def test_post_copy_type_entity(self): # Also tests continuation_url parameter handling s = site_view_url() f = entitylist_form_data("copy", entities=[layout.FIELD_TYPEID+"/field1"], continuation_url=s) u = entitydata_list_type_url("testcoll", layout.FIELD_TYPEID, list_id="Field_list") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_edit_url("copy", "testcoll", layout.FIELD_TYPEID, "field1", view_id="Field_view") c = continuation_url_param(u, continuation_url_param(s)) self.assertIn(v, r['location']) self.assertIn(c, r['location']) return
def test_post_edit_entity_enum_type_new(self): self._create_entity_data("entitynewtype") e1 = self._check_entity_data_values("entitynewtype") f = default_view_form_data(entity_id="entitynewtype", action="edit", update="Updated entity", new_enum="entity_type__new_edit") u = entitydata_edit_url("edit", "testcoll", "testtype", entity_id="entitynewtype", view_id="Default_view") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") # v = entitydata_edit_url("new", "testcoll", "_type", view_id="Type_view") v = entitydata_edit_url("edit", "testcoll", "_type", "testtype", view_id="Type_view") w = entitydata_edit_url("edit", "testcoll", "testtype", entity_id="entitynewtype", view_id="Default_view") c = continuation_url_param(w) self.assertIn(TestHostUri + v, r['location']) self.assertIn(c, r['location']) self._check_entity_data_values("entitynewtype", update="Updated entity") return
def test_post_edit_view_enum_field_new(self): self._create_record_view("editview") self._check_record_view_values("editview") f = view_view_form_data( view_id="editview", orig_id="editview", action="edit", update="Updated RecordView", new_enum="View_fields__3__View_field_sel__new_edit") u = entitydata_edit_url("edit", "testcoll", "_view", entity_id="editview", view_id="View_view") r = self.client.post(u, f) r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") # v = entitydata_edit_url("new", "testcoll", "_field", view_id="Field_view") v = entitydata_edit_url("edit", "testcoll", "_field", "Entity_comment", view_id="Field_view") w = entitydata_edit_url("edit", "testcoll", "_view", entity_id="editview", view_id="View_view") c = continuation_url_param(w) self.assertIn(TestHostUri + v, r['location']) self.assertIn(c, r['location']) self._check_record_view_values("editview", update="Updated RecordView") return
def test_post_default_form_use_view(self): self._create_entity_data("entityuseview") self.assertTrue(EntityData.exists(self.testdata, "entityuseview")) f = entitydata_default_view_form_data( entity_id="entityuseview", action="view", use_view="_view/Type_view", ) f.pop('entity_id', None) u = entitydata_edit_url("view", "testcoll", "testtype", "entityuseview", view_id="Default_view") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_edit_url("view", "testcoll", "testtype", entity_id="entityuseview", view_id="Type_view") c = continuation_url_param("/testsite/c/testcoll/d/testtype/") self.assertIn(v, r['location']) self.assertIn(c, r['location']) self._check_entity_data_values("entityuseview") return
def test_post_edit_view_enum_field_new(self): self._create_record_view("editview") self._check_record_view_values("editview") f = recordview_entity_view_form_data( view_id="editview", orig_id="editview", action="edit", update="Updated RecordView", new_enum="View_fields__3__Field_id__new_edit" ) u = entitydata_edit_url( "edit", "testcoll", "_view", entity_id="editview", view_id="View_view" ) r = self.client.post(u, f) r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") # v = entitydata_edit_url("new", "testcoll", "_field", view_id="Field_view") v = entitydata_edit_url("edit", "testcoll", "_field", "Entity_comment", view_id="Field_view") w = entitydata_edit_url( "edit", "testcoll", "_view", entity_id="editview", view_id="View_view" ) c = continuation_url_param(w) self.assertIn(TestHostUri+v, r['location']) self.assertIn(c, r['location']) self._check_record_view_values("editview", update="Updated RecordView") return
def test_post_edit_entity_enum_type_new(self): self._create_entity_data("entitynewtype") e1 = self._check_entity_data_values("entitynewtype") f = entitydata_default_view_form_data( entity_id="entitynewtype", action="edit", update="Updated entity", new_enum="entity_type__new_edit" ) u = entitydata_edit_url( "edit", "testcoll", "testtype", entity_id="entitynewtype", view_id="Default_view" ) r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") # v = entitydata_edit_url("new", "testcoll", "_type", view_id="Type_view") v = entitydata_edit_url("edit", "testcoll", "_type", "testtype", view_id="Type_view") w = entitydata_edit_url( "edit", "testcoll", "testtype", entity_id="entitynewtype", view_id="Default_view" ) c = continuation_url_param(w) self.assertIn(TestHostUri+v, r['location']) self.assertIn(c, r['location']) self._check_entity_data_values("entitynewtype", update="Updated entity") return
def test_post_view_entity_copy(self): self._create_entity_data("entityview") f = entitydata_default_view_form_data(entity_id="entityview", action="view", copy="Copy") u = entitydata_edit_url("view", "testcoll", "testtype", entity_id="entityview", view_id="Default_view") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") e = TestHostUri + entitydata_edit_url( "copy", "testcoll", "testtype", entity_id="entityview", view_id="Default_view" ) l = continuation_url_param(entitydata_list_type_url("testcoll", "testtype")) c = continuation_url_param(u, prev_cont=l) self.assertIn(e, r['location']) self.assertIn(c, r['location']) return
def test_post_new_entity_new_type(self): self.assertFalse(EntityData.exists(self.testdata, "entitynewtype")) f = default_view_form_data(entity_id="entitynewtype", action="new", update="Updated entity", new_type="New type") u = entitydata_edit_url("new", "testcoll", "testtype", view_id="Default_view") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_edit_url( "new", "testcoll", "_type", view_id="Type_view") w = entitydata_edit_url("edit", "testcoll", "testtype", entity_id="entitynewtype", view_id="Default_view") c = continuation_url_param(w) self.assertIn(v, r['location']) self.assertIn(c, r['location']) self._check_entity_data_values("entitynewtype", update="Updated entity") return
def test_post_new_all_entity(self): # Also tests continuation_url parameter handling #@@ s = site_view_url() s = collection_view_url(coll_id="testcoll") f = entitylist_form_data("new", list_id="Field_list", continuation_url=s) u = entitydata_list_all_url("testcoll", list_id="Field_list") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_edit_url( "new", "testcoll", layout.FIELD_TYPEID, view_id="Field_view" ) c = continuation_url_param(u, continuation_url_param(s)) self.assertIn(v, r['location']) self.assertIn(c, r['location']) return
def test_post_view_entity_edit(self): self._create_entity_data("entityview") f = entitydata_default_view_form_data(entity_id="entityview", action="view", edit="Edit") u = entitydata_edit_url("view", "testcoll", "testtype", entity_id="entityview", view_id="Default_view") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") e = TestHostUri + entitydata_edit_url( "edit", "testcoll", "testtype", entity_id="entityview", view_id="Default_view" ) l = continuation_url_param(entitydata_list_type_url("testcoll", "testtype")) c = continuation_url_param(u, prev_cont=l) self.assertIn(e, r['location']) self.assertIn(c, r['location']) # 'http://test.example.com/testsite/c/testcoll/v/Default_view/testtype/entityview/!edit # ?continuation_url=/testsite/c/testcoll/v/Default_view/testtype/entityview/!view # %3Fcontinuation_url=/testsite/c/testcoll/d/testtype/' return
def test_post_new_type_entity(self): f = entitylist_form_data("new", list_id="Field_list") u = entitydata_list_type_url("testcoll", layout.FIELD_TYPEID, list_id="Field_list") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_edit_url("new", "testcoll", layout.FIELD_TYPEID, view_id="Field_view") c = continuation_url_param(u) self.assertIn(v, r['location']) self.assertIn(c, r['location']) return
def setUp(self): init_annalist_test_site() self.testsite = Site(TestBaseUri, TestBaseDir) self.coll1 = Collection.load(self.testsite, "coll1") self.view_url = collection_view_url(coll_id="coll1") self.edit_url = collection_edit_url(coll_id="coll1") self.continuation = "?" + continuation_url_param(self.edit_url) # Login and permissions create_test_user(self.coll1, "testuser", "testpassword") self.client = Client(HTTP_HOST=TestHost) loggedin = self.client.login(username="******", password="******") self.assertTrue(loggedin) return
def test_post_view_no_type(self): # Redisplay list with entries matching search string f = entitylist_form_data("list_all", list_id="Type_list") u = entitydata_list_all_url("testcoll", list_id="Default_list") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_list_all_url("testcoll", list_id="Type_list") c = continuation_url_param(collection_edit_url("testcoll")) self.assertIn(v, r['location']) self.assertNotIn("continuation_url", r['location']) return
def test_post_default_list(self): # This button makes the current list view default for the collection f = entitylist_form_data("default_view", list_id="View_list") u = entitydata_list_type_url("testcoll", "_type", list_id="Type_list") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_list_type_url("testcoll", "_type", list_id="Type_list") h = "info_head=Action%20completed" m = "info_message=.*view.*testcoll.*Type_list" c = continuation_url_param(collection_edit_url("testcoll")) self.assertIn(v, r['location']) self.assertIn(h, r['location']) self.assertMatch(r['location'], m) self.assertNotIn("continuation_url", r['location']) return
def test_post_new_entity_new_type(self): self.assertFalse(EntityData.exists(self.testdata, "entitynewtype")) f = entitydata_default_view_form_data( entity_id="entitynewtype", action="new", update="Updated entity", new_type="New type" ) u = entitydata_edit_url("new", "testcoll", "testtype", view_id="Default_view") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_edit_url("new", "testcoll", "_type", view_id="Type_view") w = entitydata_edit_url("edit", "testcoll", "testtype", entity_id="entitynewtype", view_id="Default_view") c = continuation_url_param(w) self.assertIn(v, r['location']) self.assertIn(c, r['location']) self._check_entity_data_values("entitynewtype", update="Updated entity") return
def test_post_view_search(self): # Redisplay list with entries matching search string f = entitylist_form_data("list_type", search="search&term", continuation_url="/xyzxy/") u = entitydata_list_type_url("testcoll", "testtype") r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_list_type_url( "testcoll", "testtype", list_id="Default_list" ) c = continuation_url_param("/xyzxy/") s = "search=search%26term" self.assertIn(v, r['location']) self.assertIn(c, r['location']) self.assertIn(s, r['location']) # Note: Search rendering tested by test_get_fields_list_search above return
def test_post_edit_entity_new_field(self): self._create_entity_data("entitynewfield") e1 = self._check_entity_data_values("entitynewfield") f = entitydata_default_view_form_data( entity_id="entitynewfield", action="edit", update="Updated entity", new_field="New field" ) u = entitydata_edit_url( "edit", "testcoll", "testtype", entity_id="entitynewfield", view_id="Default_view" ) r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_edit_url("new", "testcoll", "_field", view_id="Field_view") c = continuation_url_param(u) self.assertIn(v, r['location']) self.assertIn(c, r['location']) self._check_entity_data_values("entitynewfield", update="Updated entity") return
def test_post_default_form_use_view(self): self._create_entity_data("entityuseview") self.assertTrue(EntityData.exists(self.testdata, "entityuseview")) f = entitydata_default_view_form_data( entity_id="entityuseview", action="view", use_view="_view/Type_view", ) f.pop('entity_id', None) u = entitydata_edit_url( "view", "testcoll", "testtype", "entityuseview", view_id="Default_view" ) r = self.client.post(u, f) self.assertEqual(r.status_code, 302) self.assertEqual(r.reason_phrase, "FOUND") self.assertEqual(r.content, "") v = TestHostUri + entitydata_edit_url( "view", "testcoll", "testtype", entity_id="entityuseview", view_id="Type_view" ) c = continuation_url_param("/testsite/c/testcoll/d/testtype/") self.assertIn(v, r['location']) self.assertIn(c, r['location']) self._check_entity_data_values("entityuseview") return