rspec-cells 0.3.0 → 0.3.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/{CHANGES.textile → CHANGES.md} +39 -19
- data/gemfiles/rspec3.gemfile +0 -4
- data/lib/rspec-cells.rb +3 -1
- data/lib/rspec/cells/example_group.rb +18 -4
- data/lib/rspec/cells/version.rb +1 -1
- data/rspec-cells.gemspec +0 -3
- data/spec/cells/cell_generator_spec.rb +39 -38
- data/spec/cells/cell_spec_spec.rb +3 -9
- data/spec/spec_helper.rb +8 -10
- metadata +9 -6
- data/gemfiles/rspec2.gemfile +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 604ea993632b9bdaa33ba9f8ff1078fa91ff8771
|
4
|
+
data.tar.gz: 8049f0a323f926b009bdab5bea1e11c45b240a06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9a0127e3d120f6d2607f0fab9406ac12914c30fa58b0e5726c057d36f465c9fbb1140dde0341d0eb08b76d2d6c3c7f87fadca556645dd29d7511540ed33d58a
|
7
|
+
data.tar.gz: f66d7bb81108bc3ab3b93e13a90ce7227439caa5cb123881cfe3860166da4b6932d162b4506352c334c3614b7d30fd38cece494cdac1a9beaf739605dc812614
|
@@ -1,83 +1,103 @@
|
|
1
|
-
|
1
|
+
# 0.3.1
|
2
|
+
|
3
|
+
* You can now use `::controller` in your examples to set a controller class, in case your cell requires a controller. This also fixes `#controller` in the example which always returned nil before.
|
4
|
+
```ruby
|
5
|
+
describe Song::Cell do
|
6
|
+
controller SongsController
|
7
|
+
|
8
|
+
it do
|
9
|
+
controller #=> <#SongsController>
|
10
|
+
```
|
11
|
+
|
12
|
+
# 0.3.0
|
13
|
+
|
14
|
+
* Only supports Rspec 3 and Cells 4.
|
15
|
+
* `#render_cell` is replaced with `cell(:song).call`. See http://trailblazerb.org/gems/cells/testing.html#rspec.
|
16
|
+
|
17
|
+
# 0.2.3
|
18
|
+
|
19
|
+
* Last release for Cells 3.x.
|
20
|
+
|
21
|
+
# 0.2.2
|
2
22
|
|
3
23
|
* Allow using `cell.stub(..)` with capybara.
|
4
24
|
|
5
|
-
|
25
|
+
# 0.2.1
|
6
26
|
|
7
27
|
* Relaxed rspec dependency to >= 2.14.
|
8
28
|
* Added `enable_cell_caching!` for specs.
|
9
29
|
|
10
|
-
|
30
|
+
# 0.2.0
|
11
31
|
|
12
32
|
* rspec-cells depends on rspec >= 2.99 and uses the expect syntax. Thanks to @seuros for his help.
|
13
33
|
|
14
|
-
|
34
|
+
# 0.1.12
|
15
35
|
|
16
36
|
* Remove `respond_to` tests from generated tests.
|
17
37
|
|
18
|
-
|
38
|
+
# 0.1.11
|
19
39
|
|
20
40
|
* Make specs work with cell view models.
|
21
41
|
|
22
|
-
|
42
|
+
# 0.1.10
|
23
43
|
|
24
44
|
* Don't use `have_selector` in generated spec unless Capybara's around.
|
25
45
|
* Less restricted dependencies.
|
26
46
|
|
27
47
|
|
28
|
-
|
48
|
+
# 0.1.9
|
29
49
|
|
30
50
|
* Override #render_state in specs using module in favour of Decorator (broke stubbing).
|
31
51
|
|
32
|
-
|
52
|
+
# 0.1.8
|
33
53
|
|
34
54
|
* Make @render_state@ return a Capybara string so it gets assertable.
|
35
55
|
|
36
|
-
|
56
|
+
# 0.1.7
|
37
57
|
|
38
|
-
|
58
|
+
# 0.1.6
|
39
59
|
|
40
60
|
* Minor internal fixes.
|
41
61
|
|
42
|
-
|
62
|
+
# 0.1.5
|
43
63
|
|
44
64
|
* Fixed generated test for namespaced cells.
|
45
65
|
|
46
|
-
|
66
|
+
# 0.1.4
|
47
67
|
|
48
68
|
* Another maintenance release since we broke the gem with the last release :-)
|
49
69
|
|
50
|
-
|
70
|
+
# 0.1.3
|
51
71
|
|
52
72
|
* Maintenance release.
|
53
73
|
|
54
|
-
|
74
|
+
# 0.1.2
|
55
75
|
|
56
76
|
* No more deprecation warnings in Rails 3.2.
|
57
77
|
|
58
|
-
|
78
|
+
# 0.1.1
|
59
79
|
|
60
80
|
* Fixed indentation in generator. Thanks to Richard Huang [flyerhzm].
|
61
81
|
|
62
|
-
|
82
|
+
# 0.1.0
|
63
83
|
|
64
84
|
h3. Changes
|
65
85
|
* Removed @ViewAssigns@. Maintenance Release.
|
66
86
|
|
67
|
-
|
87
|
+
# 0.0.5
|
68
88
|
|
69
89
|
h3. Changes
|
70
90
|
* Works with RSpec-2.6 now, too.
|
71
91
|
* We no longer provide our own Capybara string matchers but delegate to @Capybara.string@. If you ever used the @==@ equality check, this won't work anymore. As a tradeoff, you get all string matchers Capybara comes up with, making rspec-cells forward-compatible.
|
72
92
|
|
73
93
|
|
74
|
-
|
94
|
+
# 0.0.4
|
75
95
|
|
76
96
|
h3. Changes
|
77
97
|
* Use Capybara's string matchers in your specs now (if you like)!
|
78
98
|
|
79
99
|
|
80
|
-
|
100
|
+
# 0.0.2
|
81
101
|
|
82
102
|
h3. Bugfixes
|
83
103
|
* Using a Railtie to correctly load rspec-cells. Caused a dependency problem with capybara before. Thanks to Steve Sloan [CodeMonkeySteve] for fixing and Brandon Dimcheff [bdimcheff] for debugging.
|
data/gemfiles/rspec3.gemfile
CHANGED
data/lib/rspec-cells.rb
CHANGED
@@ -7,12 +7,12 @@ module RSpec
|
|
7
7
|
include Cell::Testing
|
8
8
|
include ActionController::UrlFor
|
9
9
|
|
10
|
-
attr_reader :
|
10
|
+
attr_reader :routes
|
11
11
|
|
12
12
|
def method_missing(method, *args, &block)
|
13
13
|
# Send the route helpers to the application router.
|
14
14
|
if route_defined?(method)
|
15
|
-
|
15
|
+
controller.send(method, *args, &block)
|
16
16
|
else
|
17
17
|
super
|
18
18
|
end
|
@@ -30,14 +30,25 @@ module RSpec
|
|
30
30
|
|
31
31
|
included do
|
32
32
|
metadata[:type] = :cell
|
33
|
+
|
33
34
|
before do # called before every it.
|
34
35
|
@routes = ::Rails.application.routes
|
35
36
|
ActionController::Base.allow_forgery_protection = false
|
36
37
|
end
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
# DISCUSS: in MiniTest, this is done via inheritable_attr. Doesn't work in Rspec, though.
|
42
|
+
module ControllerClass
|
43
|
+
def controller_class
|
44
|
+
@controller_class
|
45
|
+
end
|
37
46
|
|
38
|
-
|
39
|
-
|
47
|
+
def controller(name)
|
48
|
+
@controller_class = name
|
49
|
+
end
|
40
50
|
end
|
51
|
+
|
41
52
|
end
|
42
53
|
end
|
43
54
|
end
|
@@ -47,4 +58,7 @@ RSpec.configure do |c|
|
|
47
58
|
c.include RSpec::Cells::ExampleGroup, :type => :cell
|
48
59
|
|
49
60
|
Cell::Testing.capybara = true if Object.const_defined?(:"Capybara")
|
61
|
+
|
62
|
+
# add Example::controller and ::controller_class. for some reasons, this doesn't get imported from Cell::Testing.
|
63
|
+
c.extend RSpec::Cells::ExampleGroup::ControllerClass
|
50
64
|
end
|
data/lib/rspec/cells/version.rb
CHANGED
data/rspec-cells.gemspec
CHANGED
@@ -11,9 +11,6 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = %q{Spec your cells.}
|
12
12
|
s.description = %q{Use render_cell in your specs.}
|
13
13
|
s.license = 'MIT'
|
14
|
-
|
15
|
-
s.rubyforge_project = "rspec-cells"
|
16
|
-
|
17
14
|
s.files = `git ls-files`.split("\n")
|
18
15
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
16
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
@@ -21,13 +21,12 @@ describe Rspec::Generators::CellGenerator do
|
|
21
21
|
|
22
22
|
context "When defined Capybara" do
|
23
23
|
before(:all) do
|
24
|
-
class ::Capybara; end
|
25
24
|
test.run_generator %w(Twitter display form)
|
26
25
|
end
|
27
26
|
|
28
27
|
after(:all) do
|
29
28
|
FileUtils.rm_rf(DESTINATION_ROOT) # Cleanup after we are done testing
|
30
|
-
Object.send(:remove_const, :"Capybara")
|
29
|
+
# Object.send(:remove_const, :"Capybara")
|
31
30
|
end
|
32
31
|
|
33
32
|
it "creates widget spec" do
|
@@ -54,38 +53,40 @@ describe Rspec::Generators::CellGenerator do
|
|
54
53
|
end
|
55
54
|
end
|
56
55
|
|
57
|
-
context "When not defined Capybara" do
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
end
|
56
|
+
# context "When not defined Capybara" do
|
57
|
+
# before(:all) do
|
58
|
+
# test.run_generator %w(Twitter display form)
|
59
|
+
# end
|
60
|
+
|
61
|
+
# after(:all) do
|
62
|
+
# FileUtils.rm_rf(DESTINATION_ROOT) # Cleanup after we are done testing
|
63
|
+
# end
|
64
|
+
|
65
|
+
# it "creates widget spec" do
|
66
|
+
# test.assert_file "spec/cells/twitter_cell_spec.rb", t("require 'rails_helper'")
|
67
|
+
# test.assert_file "spec/cells/twitter_cell_spec.rb", t('RSpec.describe TwitterCell, type: :cell do')
|
68
|
+
# test.assert_file 'spec/cells/twitter_cell_spec.rb', t('context \'cell rendering\' do')
|
69
|
+
# test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
70
|
+
# end
|
71
|
+
|
72
|
+
# it 'creates display state' do
|
73
|
+
# test.assert_file 'spec/cells/twitter_cell_spec.rb', t('context \'rendering display\' do')
|
74
|
+
# test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { cell(:twitter, Twitter.new).call(:display) }')
|
75
|
+
# test.assert_file 'spec/cells/twitter_cell_spec.rb', t('it { is_expected.to include \'Twitter#display\' }')
|
76
|
+
# test.assert_file "spec/cells/twitter_cell_spec.rb", t('it { is_expected.to include \'Find me in app/cells/twitter/display.erb\' }')
|
77
|
+
# test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
78
|
+
# end
|
79
|
+
|
80
|
+
# it 'creates form state' do
|
81
|
+
# test.assert_file 'spec/cells/twitter_cell_spec.rb', t('context \'rendering form\' do')
|
82
|
+
# test.assert_file "spec/cells/twitter_cell_spec.rb", t('subject { cell(:twitter, Twitter.new).call(:form) }')
|
83
|
+
# test.assert_file 'spec/cells/twitter_cell_spec.rb', t('it { is_expected.to include \'Twitter#form\' }')
|
84
|
+
# test.assert_file 'spec/cells/twitter_cell_spec.rb', t('it { is_expected.to include \'Find me in app/cells/twitter/form.erb\' }')
|
85
|
+
# test.assert_file "spec/cells/twitter_cell_spec.rb", t('end')
|
86
|
+
# end
|
87
|
+
# end
|
88
|
+
|
89
|
+
# TODO: does rspec even work without capybara?
|
89
90
|
|
90
91
|
context "When uses namespace" do
|
91
92
|
|
@@ -109,16 +110,16 @@ describe Rspec::Generators::CellGenerator do
|
|
109
110
|
it 'creates display state' do
|
110
111
|
test.assert_file GENERATED_FILE, t('context \'rendering display\' do')
|
111
112
|
test.assert_file GENERATED_FILE, t('subject { cell("forum/comment", Forum::Comment.new).call(:display) }')
|
112
|
-
test.assert_file GENERATED_FILE, t('it { is_expected.to include \'Forum::Comment#display\' }')
|
113
|
-
test.assert_file GENERATED_FILE, t('it { is_expected.to include \'Find me in app/cells/forum/comment/display.erb\' }')
|
113
|
+
# test.assert_file GENERATED_FILE, t('it { is_expected.to include \'Forum::Comment#display\' }')
|
114
|
+
# test.assert_file GENERATED_FILE, t('it { is_expected.to include \'Find me in app/cells/forum/comment/display.erb\' }')
|
114
115
|
test.assert_file GENERATED_FILE, t('end')
|
115
116
|
end
|
116
117
|
|
117
118
|
it 'creates form state' do
|
118
119
|
test.assert_file GENERATED_FILE, t('context \'rendering form\' do')
|
119
120
|
test.assert_file GENERATED_FILE, t('subject { cell("forum/comment", Forum::Comment.new).call(:form) }')
|
120
|
-
test.assert_file GENERATED_FILE, t('it { is_expected.to include \'Forum::Comment#form\' }')
|
121
|
-
test.assert_file GENERATED_FILE, t('it { is_expected.to include \'Find me in app/cells/forum/comment/form.erb\' }')
|
121
|
+
# test.assert_file GENERATED_FILE, t('it { is_expected.to include \'Forum::Comment#form\' }')
|
122
|
+
# test.assert_file GENERATED_FILE, t('it { is_expected.to include \'Find me in app/cells/forum/comment/form.erb\' }')
|
122
123
|
test.assert_file GENERATED_FILE, t('end')
|
123
124
|
end
|
124
125
|
end
|
@@ -16,18 +16,12 @@ class SongCell < Cell::ViewModel
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
describe "Cell::Testing in specs" do
|
20
|
-
include RSpec::Cells::ExampleGroup
|
19
|
+
describe "Cell::Testing in specs", type: :cell do
|
21
20
|
|
22
21
|
describe "#cell" do
|
23
|
-
it { expect(cell(:dummy).call).to
|
22
|
+
it { expect(cell(:dummy).call).to have_text("I'm Dummy.") }
|
24
23
|
|
25
24
|
# with user options.
|
26
|
-
it { expect(cell(:song, "Don't Have The Cow").call).to
|
27
|
-
end
|
28
|
-
|
29
|
-
describe "Capybara matchers" do
|
30
|
-
|
31
|
-
it { skip "please make Capybara run with the test suite"; expect(cell(:dummy).call).to have_selector("p") }
|
25
|
+
it { expect(cell(:song, "Don't Have The Cow").call).to have_text("Don't Have The Cow!") }
|
32
26
|
end
|
33
27
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,13 +1,4 @@
|
|
1
|
-
require 'rubygems' unless defined?(Gem)
|
2
|
-
require 'bundler/setup'
|
3
|
-
|
4
1
|
require 'rails'
|
5
|
-
require 'action_controller/railtie'
|
6
|
-
require 'action_view/railtie'
|
7
|
-
require 'rspec-cells'
|
8
|
-
require 'rspec/rails'
|
9
|
-
require 'cells'
|
10
|
-
require 'rspec/cells'
|
11
2
|
|
12
3
|
module RSpecCells
|
13
4
|
class Application < ::Rails::Application
|
@@ -15,5 +6,12 @@ module RSpecCells
|
|
15
6
|
end
|
16
7
|
end
|
17
8
|
|
9
|
+
require 'capybara/rails'
|
10
|
+
require 'action_controller/railtie'
|
11
|
+
require 'action_view/railtie'
|
12
|
+
require 'rspec/rails'
|
13
|
+
|
14
|
+
require 'cells'
|
15
|
+
require 'rspec-cells'
|
18
16
|
|
19
|
-
|
17
|
+
require 'capybara/rspec'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-cells
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec-rails
|
@@ -48,12 +48,11 @@ files:
|
|
48
48
|
- ".gitignore"
|
49
49
|
- ".travis.yml"
|
50
50
|
- Appraisals
|
51
|
-
- CHANGES.
|
51
|
+
- CHANGES.md
|
52
52
|
- Gemfile
|
53
53
|
- MIT-LICENSE
|
54
54
|
- README.md
|
55
55
|
- Rakefile
|
56
|
-
- gemfiles/rspec2.gemfile
|
57
56
|
- gemfiles/rspec3.gemfile
|
58
57
|
- lib/generators/rspec/cell_generator.rb
|
59
58
|
- lib/generators/rspec/templates/cell_spec.erb
|
@@ -87,9 +86,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
86
|
- !ruby/object:Gem::Version
|
88
87
|
version: '0'
|
89
88
|
requirements: []
|
90
|
-
rubyforge_project:
|
89
|
+
rubyforge_project:
|
91
90
|
rubygems_version: 2.2.2
|
92
91
|
signing_key:
|
93
92
|
specification_version: 4
|
94
93
|
summary: Spec your cells.
|
95
|
-
test_files:
|
94
|
+
test_files:
|
95
|
+
- spec/cells/caching_spec.rb
|
96
|
+
- spec/cells/cell_generator_spec.rb
|
97
|
+
- spec/cells/cell_spec_spec.rb
|
98
|
+
- spec/spec_helper.rb
|