Пример #1
0
class TestResource(unittest.TestCase):
    def setUp(self):
        self.resource = Route().resource('example', 'example_controller')

    def test_routes_returns_list_of_route_objects(self):
        self.assertIsInstance(self.resource.routes(), list)
        self.assertIsInstance(self.resource.routes()[0], Route)
        self.assertEqual(
            self.resource.keys(),
            ['index', 'create', 'store', 'show', 'edit', 'update', 'destroy'])

    def test_exclude_removes_endpoints(self):
        self.resource.exclude(['show', 'destroy'])
        self.assertEqual(self.resource.keys(),
                         ['index', 'create', 'store', 'edit', 'update'])

    def test_only_filters_other_endpoints(self):
        self.resource.only(['index', 'create'])
        self.assertEqual(self.resource.keys(), ['index', 'create'])

    def test_api_excludes_create_and_edit(self):
        self.resource.api()
        self.assertEqual(self.resource.keys(),
                         ['index', 'store', 'show', 'update', 'destroy'])

    def test_model_is_inflected_when_creating_resource(self):
        self.assertEqual(self.resource.plural, 'examples')
        self.assertEqual(self.resource.model, 'example')
Пример #2
0
 def setUp(self):
     self.resource = Route().resource('example', 'example_controller')
Пример #3
0
 def test_chain_name_method_adds_name(self):
     r = Route().get('example', 'controller').name('example.index')
     self.assertEqual(r._name, 'example.index')
Пример #4
0
from Silo.Routing import Route

routes = [
    Route().get('/', 'home_controller@index'),
    Route().get('/test', 'home_controller@details'),
    Route().get('/test/', 'home_controller@details'),
    Route().get('/test/{test_var}/edit', 'home_controller@test'),
    Route().resource('examples', 'example_controller'),
]
Пример #5
0
 def test_url_gets_leading_slash_when_missing(self):
     r = Route().get('example', 'controller')
     self.assertEqual(r.url, '/example')
Пример #6
0
 def test_url_doesnt_get_double_leading_slash(self):
     r = Route().get('/example', 'controller')
     self.assertEqual(r.url, '/example')
Пример #7
0
 def assert_route_defined(self, url, action, methods=['HEAD', 'GET']):
     r = Route().match(methods, url, action)
     self.assertEqual(r.url, url)
     self.assertEqual(r.action, action)
     self.assertEqual(r.methods, methods)
     self.assertIsInstance(r, Route)
Пример #8
0
 def setUp(self):
     self.route = Route().post('example', 'example@method')
     self.router = Router([self.route])
Пример #9
0
 def test_resource_mapped_to_equivalent_rules(self):
     resource = Route().resource('examples', 'example_controller')
     r = Router([resource])
     self.assertEqual(len(r.routes), 7)