Skip to content

Commit

Permalink
Add few tests
Browse files Browse the repository at this point in the history
  • Loading branch information
smotornyuk committed Sep 26, 2018
1 parent ef57279 commit 3993521
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 6 deletions.
65 changes: 65 additions & 0 deletions ckan/tests/controllers/test_package.py
Expand Up @@ -1011,6 +1011,71 @@ def setup_class(cls):
def teardown_class(cls):
p.unload('image_view')

def test_resource_view_create(self):
user = factories.User()
env = {'REMOTE_USER': user['name'].encode('ascii')}

owner_org = factories.Organization(
users=[{'name': user['id'], 'capacity': 'admin'}]
)
dataset = factories.Dataset(owner_org=owner_org['id'])
resource = factories.Resource(package_id=dataset['id'])

url = url_for('resource.edit_view',
id=resource['package_id'],
resource_id=resource['id'],
view_type='image_view')

app = self._get_test_app()
response = app.post(
url, {'title': 'Test Image View'}, extra_environ=env
).follow(extra_environ=env)
response.mustcontain('Test Image View')

def test_resource_view_edit(self):
user = factories.User()
env = {'REMOTE_USER': user['name'].encode('ascii')}

owner_org = factories.Organization(
users=[{'name': user['id'], 'capacity': 'admin'}]
)
dataset = factories.Dataset(owner_org=owner_org['id'])
resource = factories.Resource(package_id=dataset['id'])

resource_view = factories.ResourceView(resource_id=resource['id'])
url = url_for('resource.edit_view',
id=resource_view['package_id'],
resource_id=resource_view['resource_id'],
view_id=resource_view['id'])

app = self._get_test_app()
response = app.post(
url, {'title': 'Updated RV Title'}, extra_environ=env
).follow(extra_environ=env)
response.mustcontain('Updated RV Title')

def test_resource_view_delete(self):
user = factories.User()
env = {'REMOTE_USER': user['name'].encode('ascii')}

owner_org = factories.Organization(
users=[{'name': user['id'], 'capacity': 'admin'}]
)
dataset = factories.Dataset(owner_org=owner_org['id'])
resource = factories.Resource(package_id=dataset['id'])

resource_view = factories.ResourceView(resource_id=resource['id'])
url = url_for('resource.edit_view',
id=resource_view['package_id'],
resource_id=resource_view['resource_id'],
view_id=resource_view['id'])

app = self._get_test_app()
response = app.post(
url, {'delete': 'Delete'}, extra_environ=env
).follow(extra_environ=env)
response.mustcontain('This resource has no views')

def test_existent_resource_view_page_returns_ok_code(self):
resource_view = factories.ResourceView()

Expand Down
11 changes: 5 additions & 6 deletions ckan/views/resource.py
Expand Up @@ -611,10 +611,6 @@ def _prepare(self, id, resource_id):

def post(self, package_type, id, resource_id, view_id=None):
context, extra_vars = self._prepare(id, resource_id)
to_preview = request.form.get(u'preview', False)
if to_preview:
context[u'preview'] = True
to_delete = request.form.get(u'delete', None)
data = clean_dict(
dict_fns.unflatten(
tuplize_dict(
Expand All @@ -623,8 +619,11 @@ def post(self, package_type, id, resource_id, view_id=None):
)
)
data.pop(u'save', None)
data.pop(u'preview', None)
data.pop(u'delete', None)

to_preview = data.pop(u'preview', False)
if to_preview:
context[u'preview'] = True
to_delete = data.pop(u'delete', None)
data[u'resource_id'] = resource_id
data[u'view_type'] = request.args.get(u'view_type')

Expand Down

0 comments on commit 3993521

Please sign in to comment.