rspec-rails 3.0.0.beta1 → 3.0.0.beta2

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.
Files changed (75) hide show
  1. data.tar.gz.sig +0 -0
  2. data/Changelog.md +46 -0
  3. data/README.md +19 -17
  4. data/features/Generators.md +1 -0
  5. data/features/README.md +7 -15
  6. data/features/controller_specs/anonymous_controller.feature +222 -164
  7. data/lib/generators/rspec/feature/feature_generator.rb +15 -0
  8. data/lib/generators/rspec/feature/templates/feature_spec.rb +5 -0
  9. data/lib/generators/rspec/install/templates/spec/spec_helper.rb.tt +0 -6
  10. data/lib/generators/rspec/integration/integration_generator.rb +0 -11
  11. data/lib/generators/rspec/integration/templates/request_spec.rb +0 -5
  12. data/lib/generators/rspec/model/templates/fixtures.yml +1 -1
  13. data/lib/generators/rspec/scaffold/scaffold_generator.rb +0 -8
  14. data/lib/generators/rspec/scaffold/templates/controller_spec.rb +4 -4
  15. data/lib/generators/rspec/scaffold/templates/edit_spec.rb +0 -9
  16. data/lib/generators/rspec/scaffold/templates/index_spec.rb +0 -7
  17. data/lib/generators/rspec/scaffold/templates/new_spec.rb +0 -9
  18. data/lib/generators/rspec/scaffold/templates/show_spec.rb +0 -7
  19. data/lib/rspec/rails.rb +1 -1
  20. data/lib/rspec/rails/adapters.rb +18 -15
  21. data/lib/rspec/rails/example/controller_example_group.rb +18 -9
  22. data/lib/rspec/rails/example/view_example_group.rb +3 -0
  23. data/lib/rspec/rails/matchers/be_a_new.rb +1 -1
  24. data/lib/rspec/rails/matchers/be_new_record.rb +2 -2
  25. data/lib/rspec/rails/matchers/be_valid.rb +10 -3
  26. data/lib/rspec/rails/matchers/have_rendered.rb +2 -2
  27. data/lib/rspec/rails/matchers/redirect_to.rb +2 -2
  28. data/lib/rspec/rails/matchers/relation_match_array.rb +1 -1
  29. data/lib/rspec/rails/matchers/routing_matchers.rb +7 -3
  30. data/lib/rspec/rails/mocks.rb +50 -26
  31. data/lib/rspec/rails/vendor/capybara.rb +4 -4
  32. data/lib/rspec/rails/version.rb +1 -1
  33. data/spec/generators/rspec/controller/controller_generator_spec.rb +16 -16
  34. data/spec/generators/rspec/feature/feature_generator_spec.rb +43 -0
  35. data/spec/generators/rspec/helper/helper_generator_spec.rb +4 -4
  36. data/spec/generators/rspec/install/install_generator_spec.rb +4 -4
  37. data/spec/generators/rspec/integration/integration_generator_spec.rb +8 -20
  38. data/spec/generators/rspec/mailer/mailer_generator_spec.rb +11 -11
  39. data/spec/generators/rspec/model/model_generator_spec.rb +7 -7
  40. data/spec/generators/rspec/observer/observer_generator_spec.rb +3 -3
  41. data/spec/generators/rspec/scaffold/scaffold_generator_spec.rb +34 -34
  42. data/spec/generators/rspec/view/view_generator_spec.rb +6 -6
  43. data/spec/rspec/rails/assertion_adapter_spec.rb +3 -3
  44. data/spec/rspec/rails/configuration_spec.rb +2 -2
  45. data/spec/rspec/rails/deprecations_spec.rb +1 -1
  46. data/spec/rspec/rails/example/controller_example_group_spec.rb +79 -20
  47. data/spec/rspec/rails/example/feature_example_group_spec.rb +2 -2
  48. data/spec/rspec/rails/example/helper_example_group_spec.rb +12 -12
  49. data/spec/rspec/rails/example/mailer_example_group_spec.rb +3 -3
  50. data/spec/rspec/rails/example/model_example_group_spec.rb +3 -3
  51. data/spec/rspec/rails/example/request_example_group_spec.rb +5 -5
  52. data/spec/rspec/rails/example/routing_example_group_spec.rb +5 -5
  53. data/spec/rspec/rails/example/view_example_group_spec.rb +44 -29
  54. data/spec/rspec/rails/extensions/active_model/errors_on_spec.rb +3 -3
  55. data/spec/rspec/rails/fixture_support_spec.rb +3 -3
  56. data/spec/rspec/rails/matchers/be_a_new_spec.rb +17 -17
  57. data/spec/rspec/rails/matchers/be_new_record_spec.rb +2 -2
  58. data/spec/rspec/rails/matchers/be_routable_spec.rb +8 -8
  59. data/spec/rspec/rails/matchers/be_valid_spec.rb +33 -4
  60. data/spec/rspec/rails/matchers/has_spec.rb +1 -1
  61. data/spec/rspec/rails/matchers/have_rendered_spec.rb +3 -3
  62. data/spec/rspec/rails/matchers/redirect_to_spec.rb +7 -6
  63. data/spec/rspec/rails/matchers/relation_match_array_spec.rb +6 -6
  64. data/spec/rspec/rails/matchers/route_to_spec.rb +21 -21
  65. data/spec/rspec/rails/minitest_lifecycle_adapter_spec.rb +9 -0
  66. data/spec/rspec/rails/mocks/mock_model_spec.rb +95 -73
  67. data/spec/rspec/rails/mocks/stub_model_spec.rb +23 -23
  68. data/spec/rspec/rails/setup_and_teardown_adapter_spec.rb +4 -4
  69. data/spec/rspec/rails/view_rendering_spec.rb +14 -14
  70. data/spec/spec_helper.rb +3 -5
  71. data/spec/support/helpers.rb +15 -1
  72. metadata +112 -46
  73. metadata.gz.sig +0 -0
  74. checksums.yaml +0 -15
  75. checksums.yaml.gz.sig +0 -2
@@ -1,3 +1,3 @@
1
1
  if defined?(ActiveRecord::Relation)
2
- RSpec::Matchers::OperatorMatcher.register(ActiveRecord::Relation, '=~', RSpec::Matchers::BuiltIn::MatchArray)
2
+ RSpec::Matchers::BuiltIn::OperatorMatcher.register(ActiveRecord::Relation, '=~', RSpec::Matchers::BuiltIn::ContainExactly)
3
3
  end
@@ -31,10 +31,14 @@ module RSpec::Rails::Matchers
31
31
  end
32
32
 
33
33
  # @api private
34
- def failure_message_for_should
34
+ def failure_message
35
35
  rescued_exception.message
36
36
  end
37
37
 
38
+ def failure_message_when_negated
39
+ "expected #{@actual.inspect} not to route to #{@expected.inspect}"
40
+ end
41
+
38
42
  def description
39
43
  "route #{@actual.inspect} to #{@expected.inspect}"
40
44
  end
@@ -73,11 +77,11 @@ module RSpec::Rails::Matchers
73
77
  end
74
78
  end
75
79
 
76
- def failure_message_for_should
80
+ def failure_message
77
81
  "expected #{@actual.inspect} to be routable"
78
82
  end
79
83
 
80
- def failure_message_for_should_not
84
+ def failure_message_when_negated
81
85
  "expected #{@actual.inspect} not to be routable, but it routes to #{@routing_options.inspect}"
82
86
  end
83
87
  end
@@ -1,3 +1,5 @@
1
+ require 'active_support'
2
+ require 'active_support/deprecation'
1
3
  require 'active_support/core_ext'
2
4
  require 'active_model'
3
5
 
@@ -29,6 +31,19 @@ module RSpec
29
31
  end
30
32
  end
31
33
 
34
+ # Starting with Rails 4.1, ActiveRecord associations are inversible
35
+ # by default. This class represents an association from the mocked
36
+ # model's perspective.
37
+ #
38
+ # @private
39
+ class Association
40
+ attr_accessor :target, :inversed
41
+
42
+ def initialize(association_name)
43
+ @association_name = association_name
44
+ end
45
+ end
46
+
32
47
  module ActiveRecordInstanceMethods
33
48
  # Stubs `persisted?` to return `false` and `id` to return `nil`.
34
49
  def destroy
@@ -45,6 +60,13 @@ module RSpec
45
60
  def new_record?
46
61
  !persisted?
47
62
  end
63
+
64
+ # Returns an object representing an association from the mocked
65
+ # model's perspective. For use by Rails internally only.
66
+ def association(association_name)
67
+ @associations ||= Hash.new { |h, k| h[k] = Association.new(k) }
68
+ @associations[association_name]
69
+ end
48
70
  end
49
71
 
50
72
  # Creates a test double representing `string_or_model_class` with common
@@ -110,39 +132,41 @@ EOM
110
132
  end
111
133
  end
112
134
  end
113
- m.__send__(:__mock_proxy).instance_eval(<<-CODE, __FILE__, __LINE__)
114
- def @object.is_a?(other)
115
- #{model_class}.ancestors.include?(other)
116
- end unless #{stubs.has_key?(:is_a?)}
117
135
 
118
- def @object.kind_of?(other)
119
- #{model_class}.ancestors.include?(other)
120
- end unless #{stubs.has_key?(:kind_of?)}
136
+ msingleton = m.singleton_class
137
+ msingleton.__send__(:define_method, :is_a?) do |other|
138
+ model_class.ancestors.include?(other)
139
+ end unless stubs.has_key?(:is_a?)
121
140
 
122
- def @object.instance_of?(other)
123
- other == #{model_class}
124
- end unless #{stubs.has_key?(:instance_of?)}
141
+ msingleton.__send__(:define_method, :kind_of?) do |other|
142
+ model_class.ancestors.include?(other)
143
+ end unless stubs.has_key?(:kind_of?)
125
144
 
126
- def @object.__model_class_has_column?(method_name)
127
- #{model_class}.respond_to?(:column_names) && #{model_class}.column_names.include?(method_name.to_s)
128
- end
145
+ msingleton.__send__(:define_method, :instance_of?) do |other|
146
+ other == model_class
147
+ end unless stubs.has_key?(:instance_of?)
148
+
149
+ msingleton.__send__(:define_method, :__model_class_has_column?) do |method_name|
150
+ model_class.respond_to?(:column_names) && model_class.column_names.include?(method_name.to_s)
151
+ end
129
152
 
130
- def @object.respond_to?(method_name, include_private=false)
131
- __model_class_has_column?(method_name) ? true : super
132
- end unless #{stubs.has_key?(:respond_to?)}
153
+ msingleton.__send__(:define_method, :respond_to?) do |method_name, *args|
154
+ include_private = args.first || false
155
+ __model_class_has_column?(method_name) ? true : super(method_name, include_private)
156
+ end unless stubs.has_key?(:respond_to?)
133
157
 
134
- def @object.method_missing(m, *a, &b)
135
- respond_to?(m) ? null_object? ? self : nil : super
136
- end
158
+ msingleton.__send__(:define_method, :method_missing) do |m, *a, &b|
159
+ respond_to?(m) ? null_object? ? self : nil : super(m, *a, &b)
160
+ end
137
161
 
138
- def @object.class
139
- #{model_class}
140
- end unless #{stubs.has_key?(:class)}
162
+ msingleton.__send__(:define_method, :class) do
163
+ model_class
164
+ end unless stubs.has_key?(:class)
141
165
 
142
- def @object.to_s
143
- "#{model_class.name}_#{to_param}"
144
- end unless #{stubs.has_key?(:to_s)}
145
- CODE
166
+ mock_param = to_param
167
+ msingleton.__send__(:define_method, :to_s) do
168
+ "#{model_class.name}_#{mock_param}"
169
+ end unless stubs.has_key?(:to_s)
146
170
  yield m if block_given?
147
171
  end
148
172
  end
@@ -9,9 +9,11 @@ rescue LoadError
9
9
  end
10
10
 
11
11
  if defined?(Capybara)
12
+ require 'rspec/support/version_checker'
13
+ RSpec::Support::VersionChecker.new('capybara', Capybara::VERSION, '2.2.0').check_version!
14
+
12
15
  RSpec.configure do |c|
13
16
  if defined?(Capybara::DSL)
14
- c.include Capybara::DSL, :type => :controller
15
17
  c.include Capybara::DSL, :type => :feature
16
18
  end
17
19
 
@@ -20,9 +22,7 @@ if defined?(Capybara)
20
22
  c.include Capybara::RSpecMatchers, :type => :helper
21
23
  c.include Capybara::RSpecMatchers, :type => :mailer
22
24
  c.include Capybara::RSpecMatchers, :type => :controller
23
- c.include Capybara::RSpecMatchers, :example_group => {
24
- :file_path => c.escaped_path(%w[spec features])
25
- }
25
+ c.include Capybara::RSpecMatchers, :type => :feature
26
26
  end
27
27
 
28
28
  unless defined?(Capybara::RSpecMatchers) || defined?(Capybara::DSL)
@@ -1,7 +1,7 @@
1
1
  module RSpec
2
2
  module Rails
3
3
  module Version
4
- STRING = '3.0.0.beta1'
4
+ STRING = '3.0.0.beta2'
5
5
  end
6
6
  end
7
7
  end
@@ -17,16 +17,16 @@ describe Rspec::Generators::ControllerGenerator do
17
17
  end
18
18
 
19
19
  describe 'the spec' do
20
- it { should exist }
21
- it { should contain(/require 'spec_helper'/) }
22
- it { should contain(/describe PostsController/) }
20
+ it { is_expected.to exist }
21
+ it { is_expected.to contain(/require 'spec_helper'/) }
22
+ it { is_expected.to contain(/describe PostsController/) }
23
23
  end
24
24
  end
25
25
  describe 'skipped with a flag' do
26
26
  before do
27
27
  run_generator %w(posts --no-controller_specs)
28
28
  end
29
- it { should_not exist }
29
+ it { is_expected.not_to exist }
30
30
  end
31
31
  end
32
32
 
@@ -38,7 +38,7 @@ describe Rspec::Generators::ControllerGenerator do
38
38
  end
39
39
  describe 'index.html.erb' do
40
40
  subject { file('spec/views/posts/index.html.erb_spec.rb') }
41
- it { should_not exist }
41
+ it { is_expected.not_to exist }
42
42
  end
43
43
  end
44
44
  describe 'with no actions' do
@@ -47,7 +47,7 @@ describe Rspec::Generators::ControllerGenerator do
47
47
  end
48
48
  describe 'index.html.erb' do
49
49
  subject { file('spec/views/posts/index.html.erb_spec.rb') }
50
- it { should_not exist }
50
+ it { is_expected.not_to exist }
51
51
  end
52
52
  end
53
53
 
@@ -58,7 +58,7 @@ describe Rspec::Generators::ControllerGenerator do
58
58
 
59
59
  describe 'index.html.erb' do
60
60
  subject { file('spec/views/posts/index.html._spec.rb') }
61
- it { should_not exist }
61
+ it { is_expected.not_to exist }
62
62
  end
63
63
  end
64
64
  end
@@ -70,15 +70,15 @@ describe Rspec::Generators::ControllerGenerator do
70
70
  end
71
71
  describe 'index.html.erb' do
72
72
  subject { file('spec/views/posts/index.html.erb_spec.rb') }
73
- it { should exist }
74
- it { should contain(/require 'spec_helper'/) }
75
- it { should contain(/describe "posts\/index.html.erb"/) }
73
+ it { is_expected.to exist }
74
+ it { is_expected.to contain(/require 'spec_helper'/) }
75
+ it { is_expected.to contain(/describe "posts\/index.html.erb"/) }
76
76
  end
77
77
  describe 'show.html.erb' do
78
78
  subject { file('spec/views/posts/show.html.erb_spec.rb') }
79
- it { should exist }
80
- it { should contain(/require 'spec_helper'/) }
81
- it { should contain(/describe "posts\/show.html.erb"/) }
79
+ it { is_expected.to exist }
80
+ it { is_expected.to contain(/require 'spec_helper'/) }
81
+ it { is_expected.to contain(/describe "posts\/show.html.erb"/) }
82
82
  end
83
83
  end
84
84
  describe 'with haml' do
@@ -87,9 +87,9 @@ describe Rspec::Generators::ControllerGenerator do
87
87
  end
88
88
  describe 'index.html.haml' do
89
89
  subject { file('spec/views/posts/index.html.haml_spec.rb') }
90
- it { should exist }
91
- it { should contain(/require 'spec_helper'/) }
92
- it { should contain(/describe "posts\/index.html.haml"/) }
90
+ it { is_expected.to exist }
91
+ it { is_expected.to contain(/require 'spec_helper'/) }
92
+ it { is_expected.to contain(/describe "posts\/index.html.haml"/) }
93
93
  end
94
94
  end
95
95
  end
@@ -0,0 +1,43 @@
1
+ require 'spec_helper'
2
+
3
+ # Generators are not automatically loaded by rails
4
+ require 'generators/rspec/feature/feature_generator'
5
+
6
+ describe Rspec::Generators::FeatureGenerator do
7
+ # Tell the generator where to put its output (what it thinks of as Rails.root)
8
+ destination File.expand_path("../../../../../temp", __FILE__)
9
+
10
+ before { prepare_destination }
11
+
12
+ describe 'feature specs' do
13
+ describe 'are generated independently from the command line' do
14
+ before do
15
+ run_generator %w(posts)
16
+ end
17
+ describe 'the spec' do
18
+ subject(:feature_spec) { file('spec/features/posts_spec.rb') }
19
+ it "exists" do
20
+ expect(feature_spec).to exist
21
+ end
22
+ it "contains 'spec_helper'" do
23
+ expect(feature_spec).to contain(/require 'spec_helper'/)
24
+ end
25
+ it "contains the feature" do
26
+ expect(feature_spec).to contain(/feature "Posts"/)
27
+ end
28
+ end
29
+ end
30
+
31
+ describe "are not generated" do
32
+ before do
33
+ run_generator %w(posts --no-feature-specs)
34
+ end
35
+ describe "the spec" do
36
+ subject(:feature_spec) { file('spec/features/posts_spec.rb') }
37
+ it "does not exist" do
38
+ expect(feature_spec).to_not exist
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -16,15 +16,15 @@ describe Rspec::Generators::HelperGenerator do
16
16
  end
17
17
 
18
18
  describe 'the spec' do
19
- it { should exist }
20
- it { should contain(/require 'spec_helper'/) }
21
- it { should contain(/describe PostsHelper/) }
19
+ it { is_expected.to exist }
20
+ it { is_expected.to contain(/require 'spec_helper'/) }
21
+ it { is_expected.to contain(/describe PostsHelper/) }
22
22
  end
23
23
  end
24
24
  describe 'skipped with a flag' do
25
25
  before do
26
26
  run_generator %w(posts --no-helper_specs)
27
27
  end
28
- it { should_not exist }
28
+ it { is_expected.not_to exist }
29
29
  end
30
30
  end
@@ -8,23 +8,23 @@ describe Rspec::Generators::InstallGenerator do
8
8
 
9
9
  it "generates .rspec" do
10
10
  run_generator
11
- file('.rspec').should exist
11
+ expect(file('.rspec')).to exist
12
12
  end
13
13
 
14
14
  it "generates spec/spec_helper.rb" do
15
15
  run_generator
16
- File.read( file('spec/spec_helper.rb') ).should =~ /^require 'rspec\/autorun'$/m
16
+ expect(File.read( file('spec/spec_helper.rb') )).to match(/^require 'rspec\/rails'$/m)
17
17
  end
18
18
 
19
19
  if ::Rails::VERSION::STRING >= '4'
20
20
  it "generates spec/spec_helper.rb with a check for pending migrations" do
21
21
  run_generator
22
- File.read( file('spec/spec_helper.rb') ).should =~ /ActiveRecord::Migration\.check_pending!/m
22
+ expect(File.read( file('spec/spec_helper.rb') )).to match(/ActiveRecord::Migration\.check_pending!/m)
23
23
  end
24
24
  else
25
25
  it "generates spec/spec_helper.rb without a check for pending migrations" do
26
26
  run_generator
27
- File.read( file('spec/spec_helper.rb') ).should_not =~ /ActiveRecord::Migration\.check_pending!/m
27
+ expect(File.read( file('spec/spec_helper.rb') )).not_to match(/ActiveRecord::Migration\.check_pending!/m)
28
28
  end
29
29
  end
30
30
  end
@@ -15,30 +15,18 @@ describe Rspec::Generators::IntegrationGenerator do
15
15
  end
16
16
  describe 'index.html.erb' do
17
17
  subject { file('spec/requests/posts_spec.rb') }
18
- it { should_not exist }
18
+ it { is_expected.not_to exist }
19
19
  end
20
20
  end
21
21
 
22
22
  describe 'are generated' do
23
- describe 'without webrat matchers by default' do
24
- before do
25
- run_generator %w(posts)
26
- end
27
- subject { file('spec/requests/posts_spec.rb') }
28
- it { should exist }
29
- it { should contain(/require 'spec_helper'/) }
30
- it { should contain(/describe "GET \/posts"/) }
31
- it { should contain(/get posts_index_path/) }
32
- end
33
- describe 'with webrat matchers' do
34
- before do
35
- run_generator %w(posts --webrat)
36
- end
37
- subject { file('spec/requests/posts_spec.rb') }
38
- it { should exist }
39
- it { should contain(/require 'spec_helper'/) }
40
- it { should contain(/describe "GET \/posts"/) }
41
- it { should contain(/visit posts_index_path/) }
23
+ before do
24
+ run_generator %w(posts)
42
25
  end
26
+ subject { file('spec/requests/posts_spec.rb') }
27
+ it { is_expected.to exist }
28
+ it { is_expected.to contain(/require 'spec_helper'/) }
29
+ it { is_expected.to contain(/describe "GET \/posts"/) }
30
+ it { is_expected.to contain(/get posts_index_path/) }
43
31
  end
44
32
  end
@@ -15,18 +15,18 @@ describe Rspec::Generators::MailerGenerator do
15
15
  before do
16
16
  run_generator %w(posts index show)
17
17
  end
18
- it { should exist }
19
- it { should contain(/require "spec_helper"/) }
20
- it { should contain(/describe "index" do/) }
21
- it { should contain(/describe "show" do/) }
18
+ it { is_expected.to exist }
19
+ it { is_expected.to contain(/require "spec_helper"/) }
20
+ it { is_expected.to contain(/describe "index" do/) }
21
+ it { is_expected.to contain(/describe "show" do/) }
22
22
  end
23
23
  describe 'creates placeholder when no actions specified' do
24
24
  before do
25
25
  run_generator %w(posts)
26
26
  end
27
- it { should exist }
28
- it { should contain(/require "spec_helper"/) }
29
- it { should contain(/pending "add some examples to \(or delete\)/) }
27
+ it { is_expected.to exist }
28
+ it { is_expected.to contain(/require "spec_helper"/) }
29
+ it { is_expected.to contain(/pending "add some examples to \(or delete\)/) }
30
30
  end
31
31
  end
32
32
 
@@ -36,13 +36,13 @@ describe Rspec::Generators::MailerGenerator do
36
36
  end
37
37
  describe 'index' do
38
38
  subject { file('spec/fixtures/posts/index') }
39
- it { should exist }
40
- it { should contain(/Posts#index/) }
39
+ it { is_expected.to exist }
40
+ it { is_expected.to contain(/Posts#index/) }
41
41
  end
42
42
  describe 'show' do
43
43
  subject { file('spec/fixtures/posts/show') }
44
- it { should exist }
45
- it { should contain(/Posts#show/) }
44
+ it { is_expected.to exist }
45
+ it { is_expected.to contain(/Posts#show/) }
46
46
  end
47
47
  end
48
48
  end
@@ -11,8 +11,8 @@ describe Rspec::Generators::ModelGenerator do
11
11
 
12
12
  it 'runs both the model and fixture tasks' do
13
13
  gen = generator %w(posts)
14
- gen.should_receive :create_model_spec
15
- gen.should_receive :create_fixture_file
14
+ expect(gen).to receive :create_model_spec
15
+ expect(gen).to receive :create_fixture_file
16
16
  capture(:stdout) { gen.invoke_all }
17
17
  end
18
18
 
@@ -25,15 +25,15 @@ describe Rspec::Generators::ModelGenerator do
25
25
  describe 'the spec' do
26
26
  subject { file('spec/models/posts_spec.rb') }
27
27
 
28
- it { should exist }
29
- it { should contain(/require 'spec_helper'/) }
30
- it { should contain(/describe Posts/) }
28
+ it { is_expected.to exist }
29
+ it { is_expected.to contain(/require 'spec_helper'/) }
30
+ it { is_expected.to contain(/describe Posts/) }
31
31
  end
32
32
 
33
33
  describe 'the fixtures' do
34
34
  subject { file('spec/fixtures/posts.yml') }
35
35
 
36
- it { should contain(Regexp.new('# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html')) }
36
+ it { is_expected.to contain(Regexp.new('# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html')) }
37
37
  end
38
38
  end
39
39
 
@@ -45,7 +45,7 @@ describe Rspec::Generators::ModelGenerator do
45
45
  describe 'the fixtures' do
46
46
  subject { file('spec/fixtures/posts.yml') }
47
47
 
48
- it { should_not exist }
48
+ it { is_expected.not_to exist }
49
49
  end
50
50
  end
51
51
  end