1
1
require 'cypress_on_rails/smart_factory_wrapper'
2
+ require 'factory_bot'
2
3
3
4
RSpec . describe CypressOnRails ::SmartFactoryWrapper do
4
5
FileSystemDummy = Struct . new ( :file_hash ) do
@@ -10,8 +11,9 @@ def mtime(filename)
10
11
let ( :time_now ) { Time . now }
11
12
let ( :mtime_hash ) { { 'file1.rb' => time_now , 'file2.rb' => time_now } }
12
13
let ( :files ) { %w( file1.rb file2.rb ) }
13
- let ( :factory_double ) { double ( 'FactoryBot' , create : true , create_list : true ) }
14
- let ( :factory_cleaner ) { class_double ( CypressOnRails ::SmartFactoryWrapper ::FactoryCleaner , clean : true ) }
14
+ let ( :factory_double ) do
15
+ class_double ( FactoryBot , create : nil , create_list : nil , "definition_file_paths=" : nil , reload : nil )
16
+ end
15
17
let ( :kernel_double ) { class_double ( Kernel , load : true ) }
16
18
let ( :file_double ) { FileSystemDummy . new ( mtime_hash ) }
17
19
let ( :dir_double ) { class_double ( Dir ) }
@@ -25,8 +27,7 @@ def mtime(filename)
25
27
factory : factory_double ,
26
28
kernel : kernel_double ,
27
29
file_system : file_double ,
28
- dir_system : dir_double ,
29
- factory_cleaner : factory_cleaner )
30
+ dir_system : dir_double )
30
31
end
31
32
32
33
it 'loads all the files on first create it' do
@@ -68,7 +69,7 @@ def mtime(filename)
68
69
69
70
it 'wont load the files if they have not changed' do
70
71
subject . create ( :user )
71
- subject . create_list ( :user )
72
+ subject . create_list ( :user , 2 )
72
73
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file1.rb' ) . once
73
74
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . once
74
75
end
@@ -79,7 +80,7 @@ def mtime(filename)
79
80
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . once
80
81
81
82
mtime_hash [ 'file1.rb' ] = Time . now
82
- subject . create_list ( :user )
83
+ subject . create_list ( :user , 2 )
83
84
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file1.rb' ) . twice
84
85
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . twice
85
86
end
@@ -91,24 +92,24 @@ def mtime(filename)
91
92
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . once
92
93
93
94
mtime_hash . delete ( 'file1.rb' )
94
- subject . create_list ( :user )
95
+ subject . create_list ( :user , 2 )
95
96
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file1.rb' ) . once
96
97
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . twice
97
98
end
98
99
99
- it 'will reset factory if a has changed' do
100
+ it 'will reset factory if a file has changed' do
100
101
subject . create ( :user )
101
- expect ( factory_cleaner ) . to have_received ( :clean ) . with ( factory_double )
102
+ expect ( factory_double ) . to have_received ( :reload )
102
103
103
104
mtime_hash [ 'file1.rb' ] = Time . now
104
- subject . create_list ( :user )
105
+ subject . create_list ( :user , 2 )
105
106
106
- expect ( factory_cleaner ) . to have_received ( :clean ) . with ( factory_double ) . twice
107
+ expect ( factory_double ) . to have_received ( :reload ) . twice
107
108
end
108
109
109
110
it 'will always reload the files enabled' do
110
111
subject . always_reload = true
111
- subject . create_list ( :user )
112
+ subject . create_list ( :user , 2 )
112
113
subject . create ( :user )
113
114
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file1.rb' ) . twice
114
115
expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . twice
0 commit comments