11require 'cypress_on_rails/smart_factory_wrapper'
2+ require 'factory_bot'
23
34RSpec . describe CypressOnRails ::SmartFactoryWrapper do
45 FileSystemDummy = Struct . new ( :file_hash ) do
@@ -10,8 +11,9 @@ def mtime(filename)
1011 let ( :time_now ) { Time . now }
1112 let ( :mtime_hash ) { { 'file1.rb' => time_now , 'file2.rb' => time_now } }
1213 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
1517 let ( :kernel_double ) { class_double ( Kernel , load : true ) }
1618 let ( :file_double ) { FileSystemDummy . new ( mtime_hash ) }
1719 let ( :dir_double ) { class_double ( Dir ) }
@@ -25,8 +27,7 @@ def mtime(filename)
2527 factory : factory_double ,
2628 kernel : kernel_double ,
2729 file_system : file_double ,
28- dir_system : dir_double ,
29- factory_cleaner : factory_cleaner )
30+ dir_system : dir_double )
3031 end
3132
3233 it 'loads all the files on first create it' do
@@ -68,7 +69,7 @@ def mtime(filename)
6869
6970 it 'wont load the files if they have not changed' do
7071 subject . create ( :user )
71- subject . create_list ( :user )
72+ subject . create_list ( :user , 2 )
7273 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file1.rb' ) . once
7374 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . once
7475 end
@@ -79,7 +80,7 @@ def mtime(filename)
7980 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . once
8081
8182 mtime_hash [ 'file1.rb' ] = Time . now
82- subject . create_list ( :user )
83+ subject . create_list ( :user , 2 )
8384 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file1.rb' ) . twice
8485 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . twice
8586 end
@@ -91,24 +92,24 @@ def mtime(filename)
9192 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . once
9293
9394 mtime_hash . delete ( 'file1.rb' )
94- subject . create_list ( :user )
95+ subject . create_list ( :user , 2 )
9596 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file1.rb' ) . once
9697 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . twice
9798 end
9899
99- it 'will reset factory if a has changed' do
100+ it 'will reset factory if a file has changed' do
100101 subject . create ( :user )
101- expect ( factory_cleaner ) . to have_received ( :clean ) . with ( factory_double )
102+ expect ( factory_double ) . to have_received ( :reload )
102103
103104 mtime_hash [ 'file1.rb' ] = Time . now
104- subject . create_list ( :user )
105+ subject . create_list ( :user , 2 )
105106
106- expect ( factory_cleaner ) . to have_received ( :clean ) . with ( factory_double ) . twice
107+ expect ( factory_double ) . to have_received ( :reload ) . twice
107108 end
108109
109110 it 'will always reload the files enabled' do
110111 subject . always_reload = true
111- subject . create_list ( :user )
112+ subject . create_list ( :user , 2 )
112113 subject . create ( :user )
113114 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file1.rb' ) . twice
114115 expect ( kernel_double ) . to have_received ( :load ) . with ( 'file2.rb' ) . twice
0 commit comments