cypress-on-rails 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +1 -1
- data/lib/cypress_dev/smart_factory_wrapper.rb +14 -2
- data/lib/cypress_dev/version.rb +1 -1
- data/lib/generators/cypress_dev/templates/spec/cypress/cypress_helper.rb +1 -1
- data/spec/cypress_dev/smart_factory_wrapper_spec.rb +33 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92ef9e4a473b4f2443f22531b4f9841e4b2026cd3c10752e4e21acc3aac4bd26
|
4
|
+
data.tar.gz: d78ddeef85ade24097a8582e9f96e116c914312cdfee9f2671921a57ce6ebc88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8823d163582b4aa7f328ac52069db710fb851cab2e94835eda32dfbb9b7008bbe35fb4cdaa7be826dc5ca9f4db038cf8d947e1ab016b41070171b6c582f87d52
|
7
|
+
data.tar.gz: 34b03e8a0e6f15152ed263f234768e0af41aeb84fbe5144c5c97d305bc4e3470e592c324d155cad48534310f55682d578b4fcb292d1c6523db96bedc117b888a
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -29,12 +29,12 @@ module CypressDev
|
|
29
29
|
end
|
30
30
|
|
31
31
|
# @return [Array]
|
32
|
-
attr_accessor :files
|
33
32
|
attr_accessor :factory
|
34
33
|
attr_accessor :always_reload
|
35
34
|
|
36
35
|
def initialize(files:, factory:, always_reload: false,
|
37
|
-
factory_cleaner: FactoryCleaner, kernel: Kernel, file_system: File
|
36
|
+
factory_cleaner: FactoryCleaner, kernel: Kernel, file_system: File,
|
37
|
+
dir_system: Dir)
|
38
38
|
self.files = files
|
39
39
|
self.factory = factory
|
40
40
|
self.always_reload = always_reload
|
@@ -42,6 +42,7 @@ module CypressDev
|
|
42
42
|
@file_system = file_system
|
43
43
|
@factory_cleaner = factory_cleaner
|
44
44
|
@latest_mtime = nil
|
45
|
+
@dir_system = dir_system
|
45
46
|
end
|
46
47
|
|
47
48
|
def create(*args)
|
@@ -56,6 +57,17 @@ module CypressDev
|
|
56
57
|
|
57
58
|
private
|
58
59
|
|
60
|
+
# @param [String,Array] arg
|
61
|
+
def files=(array)
|
62
|
+
array = [array] if array.is_a?(String)
|
63
|
+
@dir_array = array
|
64
|
+
end
|
65
|
+
|
66
|
+
# @return [Array<String>]
|
67
|
+
def files
|
68
|
+
Dir[*@dir_array]
|
69
|
+
end
|
70
|
+
|
59
71
|
def logger
|
60
72
|
CypressDev.configuration.logger
|
61
73
|
end
|
data/lib/cypress_dev/version.rb
CHANGED
@@ -26,5 +26,5 @@ factory = FactoryGirl if defined?(FactoryGirl)
|
|
26
26
|
CypressDev::SmartFactoryWrapper.configure(
|
27
27
|
always_reload: !Rails.configuration.cache_classes,
|
28
28
|
factory: factory,
|
29
|
-
files:
|
29
|
+
files: %w(spec/factories.rb ./spec/factories/**/*.rb)
|
30
30
|
)
|
@@ -14,12 +14,18 @@ RSpec.describe CypressDev::SmartFactoryWrapper do
|
|
14
14
|
let(:factory_cleaner) { class_double(CypressDev::SmartFactoryWrapper::FactoryCleaner, clean: true) }
|
15
15
|
let(:kernel_double) { class_double(Kernel, load: true) }
|
16
16
|
let(:file_double) { FileSystemDummy.new(mtime_hash) }
|
17
|
+
let(:dir_double) { class_double(Dir) }
|
18
|
+
|
19
|
+
before do
|
20
|
+
allow(Dir).to receive(:[]).with(*files) { mtime_hash.keys }
|
21
|
+
end
|
17
22
|
|
18
23
|
subject do
|
19
24
|
described_class.new(files: files,
|
20
25
|
factory: factory_double,
|
21
26
|
kernel: kernel_double,
|
22
27
|
file_system: file_double,
|
28
|
+
dir_system: dir_double,
|
23
29
|
factory_cleaner: factory_cleaner)
|
24
30
|
end
|
25
31
|
|
@@ -52,7 +58,7 @@ RSpec.describe CypressDev::SmartFactoryWrapper do
|
|
52
58
|
expect(kernel_double).to have_received(:load).with('file2.rb').once
|
53
59
|
end
|
54
60
|
|
55
|
-
it 'will reload the files if
|
61
|
+
it 'will reload the files if any have changed' do
|
56
62
|
subject.create(:user)
|
57
63
|
expect(kernel_double).to have_received(:load).with('file1.rb').once
|
58
64
|
expect(kernel_double).to have_received(:load).with('file2.rb').once
|
@@ -63,6 +69,18 @@ RSpec.describe CypressDev::SmartFactoryWrapper do
|
|
63
69
|
expect(kernel_double).to have_received(:load).with('file2.rb').twice
|
64
70
|
end
|
65
71
|
|
72
|
+
it 'will reload only the files that exist' do
|
73
|
+
subject.always_reload = true
|
74
|
+
subject.create(:user)
|
75
|
+
expect(kernel_double).to have_received(:load).with('file1.rb').once
|
76
|
+
expect(kernel_double).to have_received(:load).with('file2.rb').once
|
77
|
+
|
78
|
+
mtime_hash.delete('file1.rb')
|
79
|
+
subject.create_list(:user)
|
80
|
+
expect(kernel_double).to have_received(:load).with('file1.rb').once
|
81
|
+
expect(kernel_double).to have_received(:load).with('file2.rb').twice
|
82
|
+
end
|
83
|
+
|
66
84
|
it 'will reset factory if a has changed' do
|
67
85
|
subject.create(:user)
|
68
86
|
expect(factory_cleaner).to have_received(:clean).with(factory_double)
|
@@ -80,4 +98,18 @@ RSpec.describe CypressDev::SmartFactoryWrapper do
|
|
80
98
|
expect(kernel_double).to have_received(:load).with('file1.rb').twice
|
81
99
|
expect(kernel_double).to have_received(:load).with('file2.rb').twice
|
82
100
|
end
|
101
|
+
|
102
|
+
context 'files is a string' do
|
103
|
+
let(:files) { 'file*.rb' }
|
104
|
+
|
105
|
+
before do
|
106
|
+
allow(Dir).to receive(:[]).with('file*.rb') { mtime_hash.keys }
|
107
|
+
end
|
108
|
+
|
109
|
+
it 'loads all the files on first create it' do
|
110
|
+
subject.create(:user)
|
111
|
+
expect(kernel_double).to have_received(:load).with('file1.rb')
|
112
|
+
expect(kernel_double).to have_received(:load).with('file2.rb')
|
113
|
+
end
|
114
|
+
end
|
83
115
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cypress-on-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- miceportal team
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-08-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|