def _publish_xls_form_to_project(self, publish_data={}, merge=True,
public=False):
if not hasattr(self, 'project'):
self._project_create()
elif self.project.created_by != self.user:
self._project_create()
view = ProjectViewSet.as_view({
'post': 'forms'
})
project_id = self.project.pk
if merge:
data = {
'owner': 'http://testserver/api/v1/users/%s'
% self.project.organization.username,
'public': False,
'public_data': False,
'description': u'transportation_2011_07_25',
'downloadable': True,
'allows_sms': False,
'encrypted': False,
'sms_id_string': u'transportation_2011_07_25',
'id_string': u'transportation_2011_07_25',
'title': u'transportation_2011_07_25',
'bamboo_dataset': u''
}
data.update(publish_data)
else:
data = publish_data
path = os.path.join(
settings.PROJECT_ROOT, "apps", "main", "tests", "fixtures",
"transportation", "transportation.xls")
with open(path) as xls_file:
post_data = {'xls_file': xls_file}
request = self.factory.post('/', data=post_data, **self.extra)
response = view(request, pk=project_id)
self.assertEqual(response.status_code, 201)
self.xform = XForm.objects.all().order_by('pk').reverse()[0]
data.update({
'url':
'http://testserver/api/v1/forms/%s' % (self.xform.pk)
})
# Input was a private so change to public if project public
if public:
data['public_data'] = data['public'] = True
self.assertDictContainsSubset(data, response.data)
self.form_data = response.data
评论列表
文章目录