Commit 77989507 authored by Serge S. Koval's avatar Serge S. Koval

Merge pull request #512 from italomaia/master

New url scheme for modelview
parents 36377a85 3ca8a696
...@@ -500,9 +500,9 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -500,9 +500,9 @@ class BaseModelView(BaseView, ActionsMixin):
if name is None: if name is None:
name = '%s' % self._prettify_class_name(model.__name__) name = '%s' % self._prettify_class_name(model.__name__)
# If endpoint not provided, it is model name + 'view' # If endpoint not provided, it is model name
if endpoint is None: if endpoint is None:
endpoint = ('%sview' % model.__name__).lower() endpoint = model.__name__.lower()
super(BaseModelView, self).__init__(name, category, endpoint, url) super(BaseModelView, self).__init__(name, category, endpoint, url)
......
...@@ -53,7 +53,7 @@ def test_model(): ...@@ -53,7 +53,7 @@ def test_model():
eq_(view.model, Model1) eq_(view.model, Model1)
eq_(view.name, 'Model1') eq_(view.name, 'Model1')
eq_(view.endpoint, 'model1view') eq_(view.endpoint, 'model1')
eq_(view._primary_key, 'id') eq_(view._primary_key, 'id')
...@@ -82,13 +82,13 @@ def test_model(): ...@@ -82,13 +82,13 @@ def test_model():
# Make some test clients # Make some test clients
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/') rv = client.get('/admin/model1/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.post('/admin/model1view/new/', rv = client.post('/admin/model1/new/',
data=dict(test1='test1large', test2='test2')) data=dict(test1='test1large', test2='test2'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
...@@ -98,11 +98,11 @@ def test_model(): ...@@ -98,11 +98,11 @@ def test_model():
eq_(model.test3, '') eq_(model.test3, '')
eq_(model.test4, '') eq_(model.test4, '')
rv = client.get('/admin/model1view/') rv = client.get('/admin/model1/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
ok_('test1large' in rv.data) ok_('test1large' in rv.data)
url = '/admin/model1view/edit/?id=%s' % model.id url = '/admin/model1/edit/?id=%s' % model.id
rv = client.get(url) rv = client.get(url)
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -116,7 +116,7 @@ def test_model(): ...@@ -116,7 +116,7 @@ def test_model():
eq_(model.test3, '') eq_(model.test3, '')
eq_(model.test4, '') eq_(model.test4, '')
url = '/admin/model1view/delete/?id=%s' % model.id url = '/admin/model1/delete/?id=%s' % model.id
rv = client.post(url) rv = client.post(url)
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(Model1.objects.count(), 0) eq_(Model1.objects.count(), 0)
...@@ -157,7 +157,7 @@ def test_extra_fields(): ...@@ -157,7 +157,7 @@ def test_extra_fields():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
# Check presence and order # Check presence and order
...@@ -184,7 +184,7 @@ def test_extra_field_order(): ...@@ -184,7 +184,7 @@ def test_extra_field_order():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
# Check presence and order # Check presence and order
......
...@@ -67,7 +67,7 @@ def test_model(): ...@@ -67,7 +67,7 @@ def test_model():
eq_(view.model, Model1) eq_(view.model, Model1)
eq_(view.name, 'Model1') eq_(view.name, 'Model1')
eq_(view.endpoint, 'model1view') eq_(view.endpoint, 'model1')
eq_(view._primary_key, 'id') eq_(view._primary_key, 'id')
...@@ -90,13 +90,13 @@ def test_model(): ...@@ -90,13 +90,13 @@ def test_model():
# Make some test clients # Make some test clients
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/') rv = client.get('/admin/model1/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.post('/admin/model1view/new/', rv = client.post('/admin/model1/new/',
data=dict(test1='test1large', test2='test2')) data=dict(test1='test1large', test2='test2'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
...@@ -106,11 +106,11 @@ def test_model(): ...@@ -106,11 +106,11 @@ def test_model():
ok_(model.test3 is None or model.test3 == '') ok_(model.test3 is None or model.test3 == '')
ok_(model.test4 is None or model.test4 == '') ok_(model.test4 is None or model.test4 == '')
rv = client.get('/admin/model1view/') rv = client.get('/admin/model1/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
ok_('test1large' in rv.data) ok_('test1large' in rv.data)
url = '/admin/model1view/edit/?id=%s' % model.id url = '/admin/model1/edit/?id=%s' % model.id
rv = client.get(url) rv = client.get(url)
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -124,7 +124,7 @@ def test_model(): ...@@ -124,7 +124,7 @@ def test_model():
ok_(model.test3 is None or model.test3 == '') ok_(model.test3 is None or model.test3 == '')
ok_(model.test4 is None or model.test4 == '') ok_(model.test4 is None or model.test4 == '')
url = '/admin/model1view/delete/?id=%s' % model.id url = '/admin/model1/delete/?id=%s' % model.id
rv = client.post(url) rv = client.post(url)
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(Model1.select().count(), 0) eq_(Model1.select().count(), 0)
...@@ -165,7 +165,7 @@ def test_extra_fields(): ...@@ -165,7 +165,7 @@ def test_extra_fields():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
# Check presence and order # Check presence and order
......
...@@ -73,7 +73,7 @@ def test_model(): ...@@ -73,7 +73,7 @@ def test_model():
eq_(view.model, Model1) eq_(view.model, Model1)
eq_(view.name, 'Model1') eq_(view.name, 'Model1')
eq_(view.endpoint, 'model1view') eq_(view.endpoint, 'model1')
eq_(view._primary_key, 'id') eq_(view._primary_key, 'id')
...@@ -96,13 +96,13 @@ def test_model(): ...@@ -96,13 +96,13 @@ def test_model():
# Make some test clients # Make some test clients
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/') rv = client.get('/admin/model1/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.post('/admin/model1view/new/', rv = client.post('/admin/model1/new/',
data=dict(test1='test1large', test2='test2')) data=dict(test1='test1large', test2='test2'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
...@@ -112,11 +112,11 @@ def test_model(): ...@@ -112,11 +112,11 @@ def test_model():
eq_(model.test3, u'') eq_(model.test3, u'')
eq_(model.test4, u'') eq_(model.test4, u'')
rv = client.get('/admin/model1view/') rv = client.get('/admin/model1/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
ok_(u'test1large' in rv.data.decode('utf-8')) ok_(u'test1large' in rv.data.decode('utf-8'))
url = '/admin/model1view/edit/?id=%s' % model.id url = '/admin/model1/edit/?id=%s' % model.id
rv = client.get(url) rv = client.get(url)
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -130,7 +130,7 @@ def test_model(): ...@@ -130,7 +130,7 @@ def test_model():
eq_(model.test3, '') eq_(model.test3, '')
eq_(model.test4, '') eq_(model.test4, '')
url = '/admin/model1view/delete/?id=%s' % model.id url = '/admin/model1/delete/?id=%s' % model.id
rv = client.post(url) rv = client.post(url)
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(db.session.query(Model1).count(), 0) eq_(db.session.query(Model1).count(), 0)
...@@ -162,7 +162,7 @@ def test_list_columns(): ...@@ -162,7 +162,7 @@ def test_list_columns():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/') rv = client.get('/admin/model1/')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('Column1' in data) ok_('Column1' in data)
ok_('Test2' not in data) ok_('Test2' not in data)
...@@ -186,7 +186,7 @@ def test_exclude_columns(): ...@@ -186,7 +186,7 @@ def test_exclude_columns():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/') rv = client.get('/admin/model1/')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('Test1' in data) ok_('Test1' in data)
ok_('Test2' not in data) ok_('Test2' not in data)
...@@ -214,7 +214,7 @@ def test_column_searchable_list(): ...@@ -214,7 +214,7 @@ def test_column_searchable_list():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/?search=model1') rv = client.get('/admin/model1/?search=model1')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('model1' in data) ok_('model1' in data)
ok_('model2' not in data) ok_('model2' not in data)
...@@ -317,13 +317,13 @@ def test_column_filters(): ...@@ -317,13 +317,13 @@ def test_column_filters():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/?flt0_0=model1_obj1') rv = client.get('/admin/model1/?flt0_0=model1_obj1')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('model1_obj1' in data) ok_('model1_obj1' in data)
ok_('model1_obj2' not in data) ok_('model1_obj2' not in data)
rv = client.get('/admin/model1view/?flt0_5=model1_obj1') rv = client.get('/admin/model1/?flt0_5=model1_obj1')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('model1_obj1' in data) ok_('model1_obj1' in data)
...@@ -398,41 +398,41 @@ def test_url_args(): ...@@ -398,41 +398,41 @@ def test_url_args():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/') rv = client.get('/admin/model1/')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('data1' in data) ok_('data1' in data)
ok_('data3' not in data) ok_('data3' not in data)
# page # page
rv = client.get('/admin/model1view/?page=1') rv = client.get('/admin/model1/?page=1')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('data1' not in data) ok_('data1' not in data)
ok_('data3' in data) ok_('data3' in data)
# sort # sort
rv = client.get('/admin/model1view/?sort=0&desc=1') rv = client.get('/admin/model1/?sort=0&desc=1')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('data1' not in data) ok_('data1' not in data)
ok_('data3' in data) ok_('data3' in data)
ok_('data4' in data) ok_('data4' in data)
# search # search
rv = client.get('/admin/model1view/?search=data1') rv = client.get('/admin/model1/?search=data1')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('data1' in data) ok_('data1' in data)
ok_('data2' not in data) ok_('data2' not in data)
rv = client.get('/admin/model1view/?search=^data1') rv = client.get('/admin/model1/?search=^data1')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('data2' not in data) ok_('data2' not in data)
# like # like
rv = client.get('/admin/model1view/?flt0=0&flt0v=data1') rv = client.get('/admin/model1/?flt0=0&flt0v=data1')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('data1' in data) ok_('data1' in data)
# not like # not like
rv = client.get('/admin/model1view/?flt0=1&flt0v=data1') rv = client.get('/admin/model1/?flt0=1&flt0v=data1')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('data2' in data) ok_('data2' in data)
...@@ -451,19 +451,19 @@ def test_non_int_pk(): ...@@ -451,19 +451,19 @@ def test_non_int_pk():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/modelview/') rv = client.get('/admin/model/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.post('/admin/modelview/new/', rv = client.post('/admin/model/new/',
data=dict(id='test1', test='test2')) data=dict(id='test1', test='test2'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
rv = client.get('/admin/modelview/') rv = client.get('/admin/model/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('test1' in data) ok_('test1' in data)
rv = client.get('/admin/modelview/edit/?id=test1') rv = client.get('/admin/model/edit/?id=test1')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('test2' in data) ok_('test2' in data)
...@@ -484,25 +484,25 @@ def test_multiple__pk(): ...@@ -484,25 +484,25 @@ def test_multiple__pk():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/modelview/') rv = client.get('/admin/model/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.post('/admin/modelview/new/', rv = client.post('/admin/model/new/',
data=dict(id=1, id2='two', test='test3')) data=dict(id=1, id2='two', test='test3'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
rv = client.get('/admin/modelview/') rv = client.get('/admin/model/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('test3' in data) ok_('test3' in data)
rv = client.get('/admin/modelview/edit/?id=1&id=two') rv = client.get('/admin/model/edit/?id=1&id=two')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('test3' in data) ok_('test3' in data)
# Correct order is mandatory -> fail here # Correct order is mandatory -> fail here
rv = client.get('/admin/modelview/edit/?id=two&id=1') rv = client.get('/admin/model/edit/?id=two&id=1')
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
def test_form_columns(): def test_form_columns():
...@@ -616,19 +616,19 @@ def test_on_model_change_delete(): ...@@ -616,19 +616,19 @@ def test_on_model_change_delete():
client = app.test_client() client = app.test_client()
client.post('/admin/model1view/new/', client.post('/admin/model1/new/',
data=dict(test1='test1large', test2='test2')) data=dict(test1='test1large', test2='test2'))
model = db.session.query(Model1).first() model = db.session.query(Model1).first()
eq_(model.test1, 'TEST1LARGE') eq_(model.test1, 'TEST1LARGE')
url = '/admin/model1view/edit/?id=%s' % model.id url = '/admin/model1/edit/?id=%s' % model.id
client.post(url, data=dict(test1='test1small', test2='test2large')) client.post(url, data=dict(test1='test1small', test2='test2large'))
model = db.session.query(Model1).first() model = db.session.query(Model1).first()
eq_(model.test1, 'TEST1SMALL') eq_(model.test1, 'TEST1SMALL')
url = '/admin/model1view/delete/?id=%s' % model.id url = '/admin/model1/delete/?id=%s' % model.id
client.post(url) client.post(url)
ok_(view.deleted) ok_(view.deleted)
...@@ -646,7 +646,7 @@ def test_multiple_delete(): ...@@ -646,7 +646,7 @@ def test_multiple_delete():
client = app.test_client() client = app.test_client()
rv = client.post('/admin/model1view/action/', data=dict(action='delete', rowid=[1, 2, 3])) rv = client.post('/admin/model1/action/', data=dict(action='delete', rowid=[1, 2, 3]))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(M1.query.count(), 0) eq_(M1.query.count(), 0)
...@@ -685,7 +685,7 @@ def test_extra_fields(): ...@@ -685,7 +685,7 @@ def test_extra_fields():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
# Check presence and order # Check presence and order
...@@ -712,7 +712,7 @@ def test_extra_field_order(): ...@@ -712,7 +712,7 @@ def test_extra_field_order():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
# Check presence and order # Check presence and order
...@@ -881,14 +881,14 @@ def test_safe_redirect(): ...@@ -881,14 +881,14 @@ def test_safe_redirect():
client = app.test_client() client = app.test_client()
rv = client.post('/admin/model1view/new/?url=http://localhost/admin/model2view/', rv = client.post('/admin/model1/new/?url=http://localhost/admin/model2view/',
data=dict(test1='test1large', test2='test2')) data=dict(test1='test1large', test2='test2'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(rv.location, 'http://localhost/admin/model2view/') eq_(rv.location, 'http://localhost/admin/model2view/')
rv = client.post('/admin/model1view/new/?url=http://google.com/evil/', rv = client.post('/admin/model1/new/?url=http://google.com/evil/',
data=dict(test1='test1large', test2='test2')) data=dict(test1='test1large', test2='test2'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(rv.location, 'http://localhost/admin/model1view/') eq_(rv.location, 'http://localhost/admin/model1/')
...@@ -18,7 +18,7 @@ def test_form_rules(): ...@@ -18,7 +18,7 @@ def test_form_rules():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
...@@ -45,7 +45,7 @@ def test_rule_macro(): ...@@ -45,7 +45,7 @@ def test_rule_macro():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
...@@ -66,7 +66,7 @@ def test_rule_container(): ...@@ -66,7 +66,7 @@ def test_rule_container():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
...@@ -91,7 +91,7 @@ def test_rule_header(): ...@@ -91,7 +91,7 @@ def test_rule_header():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
...@@ -110,7 +110,7 @@ def test_rule_field_set(): ...@@ -110,7 +110,7 @@ def test_rule_field_set():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
...@@ -137,7 +137,7 @@ def test_rule_inlinefieldlist(): ...@@ -137,7 +137,7 @@ def test_rule_inlinefieldlist():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
...@@ -153,7 +153,7 @@ def test_inline_model_rules(): ...@@ -153,7 +153,7 @@ def test_inline_model_rules():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/model1view/new/') rv = client.get('/admin/model1/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
......
...@@ -42,41 +42,41 @@ def test_inline_form(): ...@@ -42,41 +42,41 @@ def test_inline_form():
# Basic tests # Basic tests
ok_(view._create_form_class is not None) ok_(view._create_form_class is not None)
ok_(view._edit_form_class is not None) ok_(view._edit_form_class is not None)
eq_(view.endpoint, 'userview') eq_(view.endpoint, 'user')
# Verify form # Verify form
eq_(view._create_form_class.name.field_class, fields.TextField) eq_(view._create_form_class.name.field_class, fields.TextField)
eq_(view._create_form_class.info.field_class, InlineModelFormList) eq_(view._create_form_class.info.field_class, InlineModelFormList)
rv = client.get('/admin/userview/') rv = client.get('/admin/user/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.get('/admin/userview/new/') rv = client.get('/admin/user/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
# Create # Create
rv = client.post('/admin/userview/new/', data=dict(name=u'äõüxyz')) rv = client.post('/admin/user/new/', data=dict(name=u'äõüxyz'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(User.query.count(), 1) eq_(User.query.count(), 1)
eq_(UserInfo.query.count(), 0) eq_(UserInfo.query.count(), 0)
rv = client.post('/admin/userview/new/', data={'name': u'fbar', \ rv = client.post('/admin/user/new/', data={'name': u'fbar', \
'info-0-key': 'foo', 'info-0-val' : 'bar'}) 'info-0-key': 'foo', 'info-0-val' : 'bar'})
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(User.query.count(), 2) eq_(User.query.count(), 2)
eq_(UserInfo.query.count(), 1) eq_(UserInfo.query.count(), 1)
# Edit # Edit
rv = client.get('/admin/userview/edit/?id=2') rv = client.get('/admin/user/edit/?id=2')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
# Edit - update # Edit - update
rv = client.post('/admin/userview/edit/?id=2', data={'name': u'barfoo', \ rv = client.post('/admin/user/edit/?id=2', data={'name': u'barfoo', \
'info-0-id': 1, 'info-0-key': u'xxx', 'info-0-val':u'yyy'}) 'info-0-id': 1, 'info-0-key': u'xxx', 'info-0-val':u'yyy'})
eq_(UserInfo.query.count(), 1) eq_(UserInfo.query.count(), 1)
eq_(UserInfo.query.one().key, u'xxx') eq_(UserInfo.query.one().key, u'xxx')
# Edit - add & delete # Edit - add & delete
rv = client.post('/admin/userview/edit/?id=2', data={'name': u'barf', \ rv = client.post('/admin/user/edit/?id=2', data={'name': u'barf', \
'del-info-0': 'on', 'info-0-id': '1', 'info-0-key': 'yyy', 'info-0-val': 'xxx', 'del-info-0': 'on', 'info-0-id': '1', 'info-0-key': 'yyy', 'info-0-val': 'xxx',
'info-1-id': None, 'info-1-key': u'bar', 'info-1-val' : u'foo'}) 'info-1-id': None, 'info-1-key': u'bar', 'info-1-val' : u'foo'})
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
...@@ -86,10 +86,10 @@ def test_inline_form(): ...@@ -86,10 +86,10 @@ def test_inline_form():
eq_(UserInfo.query.one().key, u'bar') eq_(UserInfo.query.one().key, u'bar')
# Delete # Delete
rv = client.post('/admin/userview/delete/?id=2') rv = client.post('/admin/user/delete/?id=2')
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(User.query.count(), 1) eq_(User.query.count(), 1)
rv = client.post('/admin/userview/delete/?id=1') rv = client.post('/admin/user/delete/?id=1')
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(User.query.count(), 0) eq_(User.query.count(), 0)
eq_(UserInfo.query.count(), 0) eq_(UserInfo.query.count(), 0)
......
...@@ -124,7 +124,7 @@ def test_mockview(): ...@@ -124,7 +124,7 @@ def test_mockview():
eq_(view.model, Model) eq_(view.model, Model)
eq_(view.name, 'Model') eq_(view.name, 'Model')
eq_(view.endpoint, 'modelview') eq_(view.endpoint, 'model')
# Verify scaffolding # Verify scaffolding
eq_(view._sortable_columns, ['col1', 'col2', 'col3']) eq_(view._sortable_columns, ['col1', 'col2', 'col3'])
...@@ -136,14 +136,14 @@ def test_mockview(): ...@@ -136,14 +136,14 @@ def test_mockview():
client = app.test_client() client = app.test_client()
# Make model view requests # Make model view requests
rv = client.get('/admin/modelview/') rv = client.get('/admin/model/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
# Test model creation view # Test model creation view
rv = client.get('/admin/modelview/new/') rv = client.get('/admin/model/new/')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
rv = client.post('/admin/modelview/new/', rv = client.post('/admin/model/new/',
data=dict(col1='test1', col2='test2', col3='test3')) data=dict(col1='test1', col2='test2', col3='test3'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(len(view.created_models), 1) eq_(len(view.created_models), 1)
...@@ -155,12 +155,12 @@ def test_mockview(): ...@@ -155,12 +155,12 @@ def test_mockview():
eq_(model.col3, 'test3') eq_(model.col3, 'test3')
# Try model edit view # Try model edit view
rv = client.get('/admin/modelview/edit/?id=3') rv = client.get('/admin/model/edit/?id=3')
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('test1' in data) ok_('test1' in data)
rv = client.post('/admin/modelview/edit/?id=3', rv = client.post('/admin/model/edit/?id=3',
data=dict(col1='test!', col2='test@', col3='test#')) data=dict(col1='test!', col2='test@', col3='test#'))
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(len(view.updated_models), 1) eq_(len(view.updated_models), 1)
...@@ -170,13 +170,13 @@ def test_mockview(): ...@@ -170,13 +170,13 @@ def test_mockview():
eq_(model.col2, 'test@') eq_(model.col2, 'test@')
eq_(model.col3, 'test#') eq_(model.col3, 'test#')
rv = client.get('/admin/modelview/edit/?id=4') rv = client.get('/admin/model/edit/?id=4')
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
# Attempt to delete model # Attempt to delete model
rv = client.post('/admin/modelview/delete/?id=3') rv = client.post('/admin/model/delete/?id=3')
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
eq_(rv.headers['location'], 'http://localhost/admin/modelview/') eq_(rv.headers['location'], 'http://localhost/admin/model/')
# Create a dispatched application to test that edit view's "save and # Create a dispatched application to test that edit view's "save and
# continue" functionality works when app is not located at root # continue" functionality works when app is not located at root
...@@ -185,11 +185,11 @@ def test_mockview(): ...@@ -185,11 +185,11 @@ def test_mockview():
dispatched_client = Client(dispatched_app) dispatched_client = Client(dispatched_app)
app_iter, status, headers = dispatched_client.post( app_iter, status, headers = dispatched_client.post(
'/dispatched/admin/modelview/edit/?id=3', '/dispatched/admin/model/edit/?id=3',
data=dict(col1='another test!', col2='test@', col3='test#', _continue_editing='True')) data=dict(col1='another test!', col2='test@', col3='test#', _continue_editing='True'))
eq_(status, '302 FOUND') eq_(status, '302 FOUND')
eq_(headers['Location'], 'http://localhost/dispatched/admin/modelview/edit/?id=3') eq_(headers['Location'], 'http://localhost/dispatched/admin/model/edit/?id=3')
model = view.updated_models.pop() model = view.updated_models.pop()
eq_(model.col1, 'another test!') eq_(model.col1, 'another test!')
...@@ -203,15 +203,15 @@ def test_permissions(): ...@@ -203,15 +203,15 @@ def test_permissions():
client = app.test_client() client = app.test_client()
view.can_create = False view.can_create = False
rv = client.get('/admin/modelview/new/') rv = client.get('/admin/model/new/')
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
view.can_edit = False view.can_edit = False
rv = client.get('/admin/modelview/edit/?id=1') rv = client.get('/admin/model/edit/?id=1')
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
view.can_delete = False view.can_delete = False
rv = client.post('/admin/modelview/delete/?id=1') rv = client.post('/admin/model/delete/?id=1')
eq_(rv.status_code, 302) eq_(rv.status_code, 302)
...@@ -227,13 +227,13 @@ def test_templates(): ...@@ -227,13 +227,13 @@ def test_templates():
view.create_template = 'mock.html' view.create_template = 'mock.html'
view.edit_template = 'mock.html' view.edit_template = 'mock.html'
rv = client.get('/admin/modelview/') rv = client.get('/admin/model/')
eq_(rv.data, b'Success!') eq_(rv.data, b'Success!')
rv = client.get('/admin/modelview/new/') rv = client.get('/admin/model/new/')
eq_(rv.data, b'Success!') eq_(rv.data, b'Success!')
rv = client.get('/admin/modelview/edit/?id=1') rv = client.get('/admin/model/edit/?id=1')
eq_(rv.data, b'Success!') eq_(rv.data, b'Success!')
...@@ -250,7 +250,7 @@ def test_list_columns(): ...@@ -250,7 +250,7 @@ def test_list_columns():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/modelview/') rv = client.get('/admin/model/')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('Column1' in data) ok_('Column1' in data)
ok_('Col2' not in data) ok_('Col2' not in data)
...@@ -266,7 +266,7 @@ def test_exclude_columns(): ...@@ -266,7 +266,7 @@ def test_exclude_columns():
client = app.test_client() client = app.test_client()
rv = client.get('/admin/modelview/') rv = client.get('/admin/model/')
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('Col1' in data) ok_('Col1' in data)
ok_('Col2' not in data) ok_('Col2' not in data)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment