# -*- coding: utf-8; -*- from unittest.mock import patch from wuttaweb.testing import WebTestCase from wuttaweb.views import tables as mod class TestUpgradeView(WebTestCase): def make_view(self): return mod.TableView(self.request) def test_includeme(self): self.pyramid_config.include("wuttaweb.views.tables") def test_get_grid_data(self): view = self.make_view() data = view.get_grid_data() self.assertIsInstance(data, list) self.assertGreater(len(data), 0) table = data[0] self.assertIsInstance(table, dict) self.assertIn("name", table) self.assertIn("schema", table) def test_configure_grid(self): model = self.app.model view = self.make_view() # sanity / coverage check grid = view.make_grid(columns=["name", "schema"]) view.configure_grid(grid) def test_get_instance(self): model = self.app.model view = self.make_view() with patch.object(self.request, "matchdict", new={"name": "person"}): table1 = view.get_instance() self.assertIsInstance(table1, dict) self.assertIn("name", table1) self.assertEqual(table1["name"], "person") self.assertIn("schema", table1) table2 = view.get_instance() self.assertIs(table2, table1) self.assertEqual(table2["name"], "person") def test_get_instance_title(self): model = self.app.model view = self.make_view() table = {"name": "poser_foo"} self.assertEqual(view.get_instance_title(table), "poser_foo")