1
1
import mock
2
2
import os
3
- from copy import deepcopy
4
3
5
4
from django .test import TestCase
6
5
12
11
@mock .patch ('formidable.json_migrations.package' ,
13
12
'tests.json_migrations' )
14
13
class JSONMigrationTestCase (TestCase ):
15
- def setUp (self ):
16
- super (JSONMigrationTestCase , self ).setUp ()
17
-
18
- self .data = deepcopy ({
14
+ def _fixtures (self , version = None ):
15
+ data = {
19
16
'fields' : [
20
17
{'foo' : 'bar' , 'help_text' : 'SOS' },
21
18
{'foo' : 'baz' , 'help_text' : 'SAS' },
22
19
]
23
- })
20
+ }
21
+ if version :
22
+ data ['version' ] = version
23
+
24
+ return data
24
25
25
26
def test_migration_from_scratch (self ):
26
- updated_data = migrate (self .data )
27
+ data = self ._fixtures ()
28
+ updated_data = migrate (data )
27
29
28
30
self .assertEqual (updated_data , {
29
31
'version' : 2 ,
@@ -32,9 +34,11 @@ def test_migration_from_scratch(self):
32
34
{'foo' : 'baz' , 'description' : 'SAS' },
33
35
]
34
36
})
37
+ self .assertEqual (updated_data ['version' ], 2 )
35
38
36
39
def test_migration_from_version_1 (self ):
37
- updated_data = migrate (self .data , 1 )
40
+ data = self ._fixtures (version = 1 )
41
+ updated_data = migrate (data , 1 )
38
42
39
43
self .assertEqual (updated_data , {
40
44
'version' : 2 ,
@@ -43,28 +47,33 @@ def test_migration_from_version_1(self):
43
47
{'foo' : 'baz' , 'help_text' : 'SAS' },
44
48
],
45
49
})
50
+ self .assertEqual (updated_data ['version' ], 2 )
46
51
47
52
def test_migration_from_version_2 (self ):
48
- updated_data = migrate (self .data , 2 )
49
- self .assertEqual (updated_data , self .data )
53
+ data = self ._fixtures (version = 2 )
54
+ updated_data = migrate (data , 2 )
55
+ self .assertEqual (updated_data , data )
50
56
51
57
@mock .patch ('tests.json_migrations.0002_add_version.migrate' )
52
58
@mock .patch ('tests.json_migrations.0001_rename_helptext.migrate' )
53
59
def test_migration_from_scratch_call_count (self , migrate_1 , migrate_2 ):
54
- migrate (self .data )
60
+ data = self ._fixtures ()
61
+ migrate (data )
55
62
self .assertEqual (migrate_1 .call_count , 1 )
56
63
self .assertEqual (migrate_2 .call_count , 1 )
57
64
58
65
@mock .patch ('tests.json_migrations.0002_add_version.migrate' )
59
66
@mock .patch ('tests.json_migrations.0001_rename_helptext.migrate' )
60
67
def test_migration_from_version_1_call_count (self , migrate_1 , migrate_2 ):
61
- migrate (self .data , 1 )
68
+ data = self ._fixtures (version = 1 )
69
+ migrate (data , 1 )
62
70
self .assertEqual (migrate_1 .call_count , 0 )
63
71
self .assertEqual (migrate_2 .call_count , 1 )
64
72
65
73
@mock .patch ('tests.json_migrations.0002_add_version.migrate' )
66
74
@mock .patch ('tests.json_migrations.0001_rename_helptext.migrate' )
67
75
def test_migration_from_version_2_call_count (self , migrate_1 , migrate_2 ):
68
- migrate (self .data , 2 )
76
+ data = self ._fixtures (version = 2 )
77
+ migrate (data , 2 )
69
78
self .assertEqual (migrate_1 .call_count , 0 )
70
79
self .assertEqual (migrate_2 .call_count , 0 )
0 commit comments