-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathmodify_test.py
62 lines (55 loc) · 2.62 KB
/
modify_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import unittest
from modify import Modify
class HelpersTestCase(unittest.TestCase):
def setUp(self):
self.to_modify = Modify()
def test_modify_date_format(self):
expected = "any"
dp = {'resources': [{"schema": {"fields": [{"name": "test","type": "date"}]}}]}
datapackage = self.to_modify.transform_package(dp)
result = datapackage['resources'][0]['schema']['fields'][0]['format']
self.assertEqual(result, expected)
def test_modify_date_format_works_with_multiple_date_fields(self):
expected = "any"
dp = {
'resources': [{
"schema": {"fields": [
{"name": "test","type": "date"},
{"name": "another-test","type": "date", "format": 'YYYY'}
]}
}]
}
datapackage = self.to_modify.transform_package(dp)
result_1 = datapackage['resources'][0]['schema']['fields'][0]['format']
result_2 = datapackage['resources'][0]['schema']['fields'][1]['format']
self.assertEqual(result_1, expected)
self.assertEqual(result_2, expected)
def test_modify_date_format_works_if_format_is_wrong(self):
expected = "any"
dp = {
'resources': [{
"schema": {"fields": [{"name": "test","type": "date", "format": 'YYYY'}]}
}]
}
datapackage = self.to_modify.transform_package(dp)
result = datapackage['resources'][0]['schema']['fields'][0]['format']
self.assertEqual(result, expected)
def test_transform_works_if_number_type_is_wrong(self):
expected = 'number'
dp = {'resources': [{"schema": {"fields": [{"name": "test","type": "decimal"}]}}]}
datapackage = self.to_modify.transform_package(dp)
result = datapackage['resources'][0]['schema']['fields'][0]['type']
self.assertEqual(result, expected)
dp = {'resources': [{"schema": {"fields": [{"name": "test","type": "float"}]}}]}
datapackage = self.to_modify.transform_package(dp)
result = datapackage['resources'][0]['schema']['fields'][0]['type']
self.assertEqual(result, expected)
def test_turns_into_list_if_datapackage_keys_are_objects(self):
dp = {
'resources': {"schema": {"fields": [{"name": "test","type": "decimal"}]}},
'licenses': { "id": "test", "title": "test-license", "url": "test.com"},
'sources': {'name': 'test', 'web': 'test.com'}
}
datapackage = self.to_modify.transform_package(dp)
self.assertEqual(type(datapackage['resources']), list)
self.assertEqual(type(datapackage['licenses']), list)