3
0
Fork 0
wuttaweb/tests/views/test_views.py

47 lines
1.5 KiB
Python
Raw Normal View History

# -*- coding: utf-8; -*-
from wuttaweb.testing import WebTestCase
from wuttaweb.views import views as mod
from wuttaweb.views.users import UserView
class TestMasterViewView(WebTestCase):
def make_view(self):
return mod.MasterViewView(self.request)
def test_includeme(self):
self.pyramid_config.include("wuttaweb.views.views")
def test_get_grid_data(self):
view = self.make_view()
# empty by default, since nothing registered in test setup
data = view.get_grid_data()
self.assertIsInstance(data, list)
self.assertEqual(len(data), 0)
# so let's register one and try again
self.pyramid_config.add_wutta_master_view(UserView)
data = view.get_grid_data()
self.assertGreater(len(data), 0)
master = data[0]
self.assertIsInstance(master, dict)
self.assertEqual(master["model_title_plural"], "Users")
self.assertEqual(master["model_name"], "User")
self.assertEqual(master["url_prefix"], "/users")
def test_configure_grid(self):
self.pyramid_config.add_route("users", "/users/")
self.pyramid_config.add_wutta_master_view(UserView)
view = self.make_view()
# sanity / coverage check
grid = view.make_grid(
columns=["model_title_plural", "url_prefix"], data=view.get_grid_data()
)
view.configure_grid(grid)
# nb. must invoke this to exercise the url logic
grid.get_vue_context()