Skip to content
Snippets Groups Projects
Commit 7bfec500 authored by Daniel Levy's avatar Daniel Levy
Browse files

Remove unwanted profiles and tests

parent 5a123949
No related branches found
No related tags found
2 merge requests!166Staging,!163Filter on multiple tags
import datetime
from os import path
from django.core.management import call_command
import pytest
import transport
TEST_BASE_DIR = path.abspath(path.dirname(__file__))
TEST_DIR = path.join(TEST_BASE_DIR, 'test_files')
@pytest.fixture
def django_db_setup(django_db_setup, django_db_blocker):
with django_db_blocker.unblock():
call_command('loaddata', 'spreadsheet-profiles.json')
@pytest.mark.django_db # noqa
def test_etc_items_imported(importer, django_db_setup):
assert len(transport.items.list_items()['results']) == 0
file_path = path.join(TEST_DIR, 'sample_etc.xlsx')
(num_saved, _) = importer.store_spreadsheet('etc', open(file_path, 'rb'))
assert num_saved > 0
items = transport.items.list_items()['results']
assert len(items) == num_saved
assert items[0]['location'] == 'Camp 1E'
assert isinstance(items[0]['timestamp'], datetime.datetime)
tags = []
for term in items[0]['terms']:
if term['taxonomy'] == 'tags':
tags.append(term['name'])
assert len(tags) > 0
assert all(tag in tags for tag in (
'Male',
))
import datetime
from os import path
from django.core.management import call_command
import pytest
import transport
from chn_spreadsheet.tests.conftest import taxonomies # noqa
TEST_BASE_DIR = path.abspath(path.dirname(__file__))
TEST_DIR = path.join(TEST_BASE_DIR, 'test_files')
@pytest.fixture
def django_db_setup(django_db_setup, django_db_blocker):
with django_db_blocker.unblock():
call_command('loaddata', 'spreadsheet-profiles.json')
@pytest.mark.django_db # noqa
def test_kobo_master_items_imported(importer, django_db_setup, taxonomies): # noqa
assert len(transport.items.list_items()['results']) == 0
file_path = path.join(TEST_DIR, 'sample_kobo_master.xlsx')
(num_saved, _) = importer.store_spreadsheet('kobo_master', open(file_path, 'rb'))
assert num_saved > 0
# Default ordering is timestamp desc
items = transport.items.list_items()['results']
assert len(items) == num_saved
assert items[1]['body'] == 'sample feedback'
assert items[1]['translation'] == 'sample translation'
assert items[1]['gender'] == 'male'
assert items[1]['age'] == '41'
assert items[1]['location'] == 'Camp 1W'
assert items[1]['enumerator'] == 'osman'
assert items[1]['collection_type'] == 'sample collection type'
assert isinstance(items[1]['timestamp'], datetime.datetime)
tags = []
for item in items:
for term in item['terms']:
if term['taxonomy'] == 'tags':
assert term['name'] != 'None'
tags.append(term['name'])
assert len(tags) > 0
assert all(tag in tags for tag in (
'sample tag',
))
@pytest.mark.django_db # noqa
def test_items_cannot_be_imported_twice(importer, django_db_setup, taxonomies): # noqa
file_path = path.join(TEST_DIR, 'master_kobo_single_item.xlsx')
(num_saved, num_skipped) = importer.store_spreadsheet('kobo_master', open(file_path, 'rb'))
assert num_saved == 1
assert num_skipped == 0
(num_saved, num_skipped) = importer.store_spreadsheet('kobo_master', open(file_path, 'rb'))
assert num_saved == 0
assert num_skipped == 1
[
{
"fields": {
"label": "kobo",
"profile": "{\"name\":\"Kobo\",\"format\":\"excel\",\"label\":\"kobo\",\"skip_header\":2,\"taxonomies\":{},\"columns\":[{\"field\":\"timestamp\",\"type\":\"date\",\"name\":\"start\",\"date_format\":\"%Y-%m-%dT%H: %M: %S.%f%z\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"end\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"username\"},{\"field\":\"body\",\"type\":\"text\",\"name\":\"What is the feedback or rumour?\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"date\"},{\"field\":\"gender\",\"type\":\"text\",\"name\":\"gender\"},{\"field\":\"terms\",\"type\":\"taxonomy\",\"name\":\"Age\",\"taxonomy\":\"age-ranges\"},{\"field\":\"location\",\"type\":\"text\",\"name\":\"Location\"},{\"field\":\"sub_location\",\"type\":\"text\",\"name\":\"Sub-Location\"},{\"field\":\"enumerator\",\"type\":\"text\",\"name\":\"comment\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"_id\"},{\"field\":\"external_id\",\"type\":\"text\",\"name\":\"_uuid\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"_submission_time\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"_validation_status\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"_index\"},{\"field\":\"terms\",\"type\":\"taxonomy\",\"name\":\"tags\",\"taxonomy\":\"tags\"}]}"
},
"model": "chn_spreadsheet.sheetprofile",
"pk": 3
},
{
"fields": {
"label": "etc",
"profile": "{\"name\":\"ETC\",\"format\":\"excel\",\"label\":\"etc\",\"skip_header\":1,\"taxonomies\":{},\"columns\":[{\"field\":\"taxonomy\",\"type\":\"text\",\"name\":\"Category\"},{\"field\":\"body\",\"type\":\"text\",\"name\":\"Issue\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"Logged by\"},{\"field\":\"timestamp\",\"type\":\"date\",\"name\":\"Date\",\"date_format\":\"%Y-%m-%d\"},{\"field\":\"terms\",\"type\":\"taxonomy\",\"name\":\"Gender\",\"taxonomy\":\"tags\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"Age\"},{\"field\":\"location\",\"type\":\"text\",\"name\":\"Location\"},{\"field\":\"sub_location\",\"type\":\"text\",\"name\":\"Sub-Location\"}]}"
},
"model": "chn_spreadsheet.sheetprofile",
"pk": 4
},
{
"model": "chn_spreadsheet.sheetprofile",
"pk": 5,
"fields": {
"label": "kobo_master",
"profile": "{\"name\":\"(Redundant)\",\"format\":\"excel\",\"label\":\"kobo_master\",\"skip_header\":1,\"taxonomies\":{},\"columns\":[{\"field\":\"timestamp\",\"type\":\"date\",\"name\":\"Date\",\"date_format\":\"%Y-%m-%dT%H: %M: %S.%f%z\"},{\"field\":\"body\",\"type\":\"text\",\"name\":\"Feedback\"},{\"field\":\"translation\",\"type\":\"text\",\"name\":\"Translation\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"Theme\"},{\"field\":\"terms\",\"type\":\"taxonomy\",\"name\":\"Tags\",\"taxonomy\":\"tags\"},{\"field\":\"ignore\",\"type\":\"ignore\",\"name\":\"FB Category\"},{\"field\":\"gender\",\"type\":\"text\",\"name\":\"Gender\"},{\"field\":\"age\",\"type\":\"text\",\"name\":\"Age\"},{\"field\":\"location\",\"type\":\"text\",\"name\":\"Location\"},{\"field\":\"sub_location\",\"type\":\"text\",\"name\":\"Sub-Location\"},{\"field\":\"enumerator\",\"type\":\"text\",\"name\":\"Ennumerator\"},{\"field\":\"collection_type\",\"type\":\"text\",\"name\":\"Collection Type\"}]}"
}
{
"model": "chn_spreadsheet.sheetprofile",
"pk": 3,
"fields": {
"label": "kobo",
"profile": "{\"name\": \"Kobo\", \"format\": \"excel\", \"label\": \"kobo\", \"skip_header\": 2, \"taxonomies\": {}, \"columns\": [{\"field\": \"timestamp\", \"type\": \"date\", \"name\": \"start\", \"date_format\": \"%Y-%m-%dT%H: %M: %S.%f%z\"}, {\"field\": \"ignore\", \"type\": \"ignore\", \"name\": \"end\"}, {\"field\": \"ignore\", \"type\": \"ignore\", \"name\": \"username\"}, {\"field\": \"body\", \"type\": \"text\", \"name\": \"What is the feedback or rumour?\"}, {\"field\": \"ignore\", \"type\": \"ignore\", \"name\": \"date\"}, {\"field\": \"gender\", \"type\": \"text\", \"name\": \"gender\"}, {\"field\": \"terms\", \"type\": \"taxonomy\", \"name\": \"Age\", \"taxonomy\": \"age-ranges\"}, {\"field\": \"location\", \"type\": \"text\", \"name\": \"Location\"}, {\"field\": \"sub_location\", \"type\": \"text\", \"name\": \"Sub-Location\"}, {\"field\": \"enumerator\", \"type\": \"text\", \"name\": \"comment\"}, {\"field\": \"ignore\", \"type\": \"ignore\", \"name\": \"_id\"}, {\"field\": \"external_id\", \"type\": \"text\", \"name\": \"_uuid\"}, {\"field\": \"ignore\", \"type\": \"ignore\", \"name\": \"_submission_time\"}, {\"field\": \"ignore\", \"type\": \"ignore\", \"name\": \"_validation_status\"}, {\"field\": \"ignore\", \"type\": \"ignore\", \"name\": \"_index\"}, {\"field\": \"terms\", \"type\": \"taxonomy\", \"name\": \"tags\", \"taxonomy\": \"tags\"}]}"
}
}
]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment