def test_sqla_table_remove(self): from ptah.manage.sqla import SQLAModule, TableView rec = TestSqlaModuleTable() rec.name = 'Test record' ptah.get_session().add(rec) ptah.get_session().flush() rec_id = rec.id request = self.make_request() mod = SQLAModule(None, request) table = mod['psqla-test_sqla_table'] request = self.make_request( POST=MultiDict([('form.buttons.remove', 'Remove')])) form = TableView(table, request) form.csrf = False form.update_form() self.assertIn('lease select records for removing.', request.render_messages()) request = self.make_request( POST=MultiDict([('form.buttons.remove', 'Remove'), ('rowid', 'wrong')])) form = TableView(table, request) form.csrf = False form.update_form() #self.assertIn('Please select records for removing.', # request.render_messages()) request = self.make_request( POST=MultiDict([('form.buttons.remove', 'Remove'), ('rowid', rec_id), ('csrf-token', self.request.session.get_csrf_token())])) form = TableView(table, request) form.csrf = True form.update_form() self.assertIn('Select records have been removed.', request.render_messages()) rec = ptah.get_session().query(TestSqlaModuleTable).filter( TestSqlaModuleTable.id == rec_id).first() self.assertIsNone(rec, None)
def test_sqla_table_remove(self): from ptah.manage.sqla import SQLAModule, TableView rec = TestSqlaModuleTable() rec.name = 'Test record' ptah.cms.Session.add(rec) ptah.cms.Session.flush() rec_id = rec.id mod = SQLAModule(None, DummyRequest()) table = mod['psqla-test_sqla_table'] request = DummyRequest(POST=MultiDict([('form.buttons.remove', 'Remove')])) form = TableView(table, request) form.csrf = False form.update() self.assertIn('lease select records for removing.', ptah.view.render_messages(request)) request = DummyRequest(POST=MultiDict([('form.buttons.remove', 'Remove'), ('rowid', 'wrong')])) form = TableView(table, request) form.csrf = False form.update() self.assertIn('lease select records for removing.', ptah.view.render_messages(request)) request = DummyRequest(POST=MultiDict([('form.buttons.remove', 'Remove'), ('rowid', rec_id)])) form = TableView(table, request) form.csrf = False form.update() self.assertIn('Select records have been removed.', ptah.view.render_messages(request)) rec = ptah.cms.Session.query(TestSqlaModuleTable).filter( TestSqlaModuleTable.id == rec_id).first() self.assertIsNone(rec, None)
def test_sqla_table_add(self): from ptah.manage.sqla import SQLAModule, TableView mod = SQLAModule(None, DummyRequest()) table = mod['psqla-test_sqla_table'] request = DummyRequest(POST={'form.buttons.add': 'Add'}) form = TableView(table, request) res = form.update() self.assertIsInstance(res, HTTPFound) self.assertEqual(res.headers['location'], 'add.html')