cypress-on-rails 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|