kitestrings 1.2.0 → 1.2.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 +4 -0
- data/kitestrings.gemspec +2 -2
- data/lib/generators/kitestrings/install_generator.rb +4 -4
- data/lib/generators/templates/rspec/model/fixtures.yml +23 -0
- data/lib/generators/templates/rspec/scaffold/controller_spec.rb +37 -38
- data/lib/generators/templates/rubocop/routing/.rubocop.yml +7 -0
- data/lib/generators/templates/spec/rails_helper.rb +1 -1
- data/lib/generators/templates/support/assign_to_matcher.rb +44 -0
- data/lib/kitestrings/version.rb +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b5e7e7b1e26fec5ba18d84498ad21faf270e378f
|
|
4
|
+
data.tar.gz: 7e9c7e8e8c0879534bde9063c9842f4ddccd9e7e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 18fbd306f921ce2bbdb45acfae7a7e2e301d53ad1b3e23a638e53a96c697371b034c0e17ee22a9385ca95c0b6c8c45abb722c069b4e8ac04f17699205cfe6d1e
|
|
7
|
+
data.tar.gz: 9ca876d4e6842c11e225f8fb58c41903436d524de0cff886d44c7f847f6168451a2437592b62f5aa14cabeb597310b3cd2f388aba27ea6c4809b357a547777b2
|
data/CHANGELOG.md
CHANGED
data/kitestrings.gemspec
CHANGED
|
@@ -6,9 +6,9 @@ require 'kitestrings/version'
|
|
|
6
6
|
Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = "kitestrings"
|
|
8
8
|
spec.version = Kitestrings::VERSION
|
|
9
|
-
spec.authors = ["Tom Ridge", "Matt Connolly", "Geoffrey Donaldson"]
|
|
9
|
+
spec.authors = ["Tom Ridge", "Matt Connolly", "Geoffrey Donaldson", "Nigel Rausch"]
|
|
10
10
|
spec.email = ["tom.ridge@tworedkites.com", "matt.connolly@tworedkites.com",
|
|
11
|
-
"geoffrey.donaldson@tworedkites.com"]
|
|
11
|
+
"geoffrey.donaldson@tworedkites.com", "nigel.rausch@tworedkites.com"]
|
|
12
12
|
spec.summary = %q{For all the 2rk goodness}
|
|
13
13
|
spec.description = %q{}
|
|
14
14
|
spec.homepage = ""
|
|
@@ -20,6 +20,7 @@ module Kitestrings
|
|
|
20
20
|
|
|
21
21
|
def copy_rubocop_file
|
|
22
22
|
copy_file "rubocop/.rubocop.yml", ".rubocop.yml"
|
|
23
|
+
directory "rubocop/routing", "spec/routing"
|
|
23
24
|
end
|
|
24
25
|
|
|
25
26
|
def copy_haml_files
|
|
@@ -50,8 +51,7 @@ module Kitestrings
|
|
|
50
51
|
|
|
51
52
|
def setup_application_controller
|
|
52
53
|
inject_into_file "app/controllers/application_controller.rb", :after => /protect_from_forgery.*$/ do
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
"
|
|
55
55
|
respond_to :html
|
|
56
56
|
|
|
57
57
|
unless Rails.application.config.consider_all_requests_local
|
|
@@ -60,8 +60,7 @@ module Kitestrings
|
|
|
60
60
|
# Airbrake.notify(exception)
|
|
61
61
|
render 'public/403', status: 403, layout: 'none'
|
|
62
62
|
end
|
|
63
|
-
end
|
|
64
|
-
EOF
|
|
63
|
+
end"
|
|
65
64
|
end
|
|
66
65
|
end
|
|
67
66
|
|
|
@@ -70,6 +69,7 @@ EOF
|
|
|
70
69
|
generators_configuration = <<-END
|
|
71
70
|
config.generators do |g|
|
|
72
71
|
g.view_specs false
|
|
72
|
+
g.test_framework :rspec, fixture: true
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
config.app_generators do |g|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
|
2
|
+
|
|
3
|
+
<% unless attributes.empty? -%>
|
|
4
|
+
DEFAULTS: &DEFAULTS
|
|
5
|
+
<% attributes[1..-1].each do |attribute| -%>
|
|
6
|
+
<%= attribute.name %>: <%= attribute.default %>
|
|
7
|
+
<% end -%>
|
|
8
|
+
|
|
9
|
+
<%= table_name.singularize %>:
|
|
10
|
+
<%= attributes.first.name %>: <%= table_name.singularize %>
|
|
11
|
+
<<: *DEFAULTS
|
|
12
|
+
|
|
13
|
+
<%= table_name.singularize %>_other:
|
|
14
|
+
<%= attributes.first.name %>: <%= table_name.singularize %>_other
|
|
15
|
+
<<: *DEFAULTS
|
|
16
|
+
<% else -%>
|
|
17
|
+
# one:
|
|
18
|
+
# column: value
|
|
19
|
+
#
|
|
20
|
+
# two:
|
|
21
|
+
# column: value
|
|
22
|
+
<% end -%>
|
|
23
|
+
|
|
@@ -15,15 +15,13 @@ describe <%= controller_class_name %>Controller do
|
|
|
15
15
|
before { allow(controller).to receive(:<%= file_name %>_params).and_return({}) }
|
|
16
16
|
|
|
17
17
|
context 'not logged in' do
|
|
18
|
-
before
|
|
19
|
-
sign_out :user
|
|
20
|
-
end
|
|
18
|
+
before { sign_out :user }
|
|
21
19
|
|
|
22
20
|
{ index: :get, show: :get, new: :get, create: :post, edit: :get, update: :put,
|
|
23
21
|
destroy: :delete }.each do |v, m|
|
|
24
22
|
it "#{m} #{v} should logout" do
|
|
25
23
|
send(m, v, id: <%= file_name %>)
|
|
26
|
-
|
|
24
|
+
is_expected.to redirect_to new_user_session_path
|
|
27
25
|
end
|
|
28
26
|
end
|
|
29
27
|
end
|
|
@@ -38,85 +36,86 @@ describe <%= controller_class_name %>Controller do
|
|
|
38
36
|
get :index
|
|
39
37
|
end
|
|
40
38
|
|
|
41
|
-
it {
|
|
42
|
-
it {
|
|
43
|
-
it {
|
|
39
|
+
it { is_expected.to assign_to(:<%= table_name %>).with_items(<%= file_name %>) }
|
|
40
|
+
it { is_expected.to render_template :index }
|
|
41
|
+
it { is_expected.to have_only_fractures(:new_<%= file_name %>_link) }
|
|
44
42
|
end
|
|
45
43
|
<% end -%>
|
|
46
44
|
|
|
47
45
|
describe 'GET show' do
|
|
48
46
|
before { get :show, id: <%= file_name %> }
|
|
49
47
|
|
|
50
|
-
it {
|
|
51
|
-
it {
|
|
52
|
-
it {
|
|
48
|
+
it { is_expected.to assign_to(:<%= file_name %>).with(<%= file_name %>) }
|
|
49
|
+
it { is_expected.to render_template :show }
|
|
50
|
+
it { is_expected.to have_only_fractures(:edit_<%= file_name %>_link) }
|
|
53
51
|
end
|
|
54
52
|
|
|
55
53
|
describe 'GET new' do
|
|
56
54
|
before { get :new }
|
|
57
55
|
|
|
58
|
-
it {
|
|
59
|
-
# it {
|
|
60
|
-
it {
|
|
61
|
-
it {
|
|
62
|
-
it {
|
|
56
|
+
it { is_expected.to assign_to(:<%= file_name %>).with_kind_of(<%= class_name %>) }
|
|
57
|
+
# it { is_expected.to assign_to('<%= file_name %>.parent').with(parent) }
|
|
58
|
+
it { is_expected.to render_template :new }
|
|
59
|
+
it { is_expected.to have_only_fractures :cancel_new_<%= file_name %>_link }
|
|
60
|
+
it { is_expected.to have_a_form.that_is_new.with_path_of(<%= table_name %>_path) }
|
|
63
61
|
end
|
|
64
62
|
|
|
65
63
|
describe 'POST create' do
|
|
66
64
|
context 'valid' do
|
|
67
65
|
before do
|
|
68
|
-
<%= class_name
|
|
66
|
+
allow_any_instance_of(<%= class_name %>).to receive(:valid?).and_return(true)
|
|
69
67
|
post :create
|
|
70
68
|
end
|
|
71
69
|
|
|
72
|
-
it {
|
|
73
|
-
it {
|
|
74
|
-
# it {
|
|
70
|
+
it { is_expected.to redirect_to <%= file_name %>_path(<%= class_name %>.last) }
|
|
71
|
+
it { is_expected.to assign_to(:<%= file_name %>).with(<%= class_name %>.last) }
|
|
72
|
+
# it { is_expected.to assign_to('<%= file_name %>.parent').with(parent) }
|
|
75
73
|
end
|
|
76
74
|
|
|
77
75
|
context 'invalid' do
|
|
78
76
|
before do
|
|
79
|
-
<%= class_name
|
|
77
|
+
allow_any_instance_of(<%= class_name %>).to receive(:valid?).and_return(false)
|
|
80
78
|
post :create
|
|
81
79
|
end
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
it {
|
|
85
|
-
it {
|
|
86
|
-
it {
|
|
80
|
+
|
|
81
|
+
it { is_expected.to assign_to(:<%= file_name %>).with_kind_of(<%= class_name %>) }
|
|
82
|
+
# it { is_expected.to assign_to('<%= file_name %>.parent').with(parent) }
|
|
83
|
+
it { is_expected.to render_template :new }
|
|
84
|
+
it { is_expected.to have_only_fractures :cancel_new_<%= file_name %>_link }
|
|
85
|
+
it { is_expected.to have_a_form.that_is_new.with_path_of(<%= table_name %>_path) }
|
|
87
86
|
end
|
|
88
87
|
end
|
|
89
88
|
|
|
90
89
|
describe 'GET edit' do
|
|
91
90
|
before { get :edit, id: <%= file_name %> }
|
|
92
91
|
|
|
93
|
-
it {
|
|
94
|
-
it {
|
|
95
|
-
it {
|
|
96
|
-
it {
|
|
92
|
+
it { is_expected.to assign_to(:<%= file_name %>).with(<%= file_name %>) }
|
|
93
|
+
it { is_expected.to render_template :edit }
|
|
94
|
+
it { is_expected.to have_only_fractures :cancel_edit_<%= file_name %>_link }
|
|
95
|
+
it { is_expected.to have_a_form.that_is_edit.with_path_of(<%= file_name %>_path) }
|
|
97
96
|
end
|
|
98
97
|
|
|
99
98
|
describe 'PUT update' do
|
|
100
99
|
context 'valid' do
|
|
101
100
|
before do
|
|
102
|
-
<%= class_name
|
|
101
|
+
allow_any_instance_of(<%= class_name %>).to receive(:valid?).and_return(true)
|
|
103
102
|
put :update, id: <%= file_name %>
|
|
104
103
|
end
|
|
105
104
|
|
|
106
|
-
it {
|
|
107
|
-
it {
|
|
105
|
+
it { is_expected.to assign_to(:<%= file_name %>).with(<%= file_name %>) }
|
|
106
|
+
it { is_expected.to redirect_to <%= file_name %>_path(<%= file_name %>) }
|
|
108
107
|
end
|
|
109
108
|
context 'invalid' do
|
|
110
109
|
before do
|
|
111
110
|
<%= file_name %>
|
|
112
|
-
<%= class_name
|
|
111
|
+
allow_any_instance_of(<%= class_name %>).to receive(:valid?).and_return(false)
|
|
113
112
|
put :update, id: <%= file_name %>
|
|
114
113
|
end
|
|
115
114
|
|
|
116
|
-
it {
|
|
117
|
-
it {
|
|
118
|
-
it {
|
|
119
|
-
it {
|
|
115
|
+
it { is_expected.to assign_to(:<%= file_name %>).with(<%= file_name %>) }
|
|
116
|
+
it { is_expected.to render_template :edit }
|
|
117
|
+
it { is_expected.to have_only_fractures :cancel_edit_<%= file_name %>_link }
|
|
118
|
+
it { is_expected.to have_a_form.that_is_edit.with_path_of(<%= file_name %>_path) }
|
|
120
119
|
end
|
|
121
120
|
end
|
|
122
121
|
|
|
@@ -124,7 +123,7 @@ describe <%= controller_class_name %>Controller do
|
|
|
124
123
|
before { delete :destroy, id: <%= file_name %> }
|
|
125
124
|
|
|
126
125
|
it { expect(<%= class_name %>.find_by_id(<%= file_name %>.id)).to be_nil }
|
|
127
|
-
it {
|
|
126
|
+
it { is_expected.to redirect_to <%= index_helper %>_path }
|
|
128
127
|
end
|
|
129
128
|
end
|
|
130
129
|
end
|
|
@@ -35,7 +35,7 @@ RSpec.configure do |config|
|
|
|
35
35
|
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
|
36
36
|
# examples within a transaction, remove the following line or assign false
|
|
37
37
|
# instead of true.
|
|
38
|
-
config.use_transactional_fixtures =
|
|
38
|
+
config.use_transactional_fixtures = true
|
|
39
39
|
config.global_fixtures = :selections
|
|
40
40
|
|
|
41
41
|
# If true, the base class of anonymous controllers will be inferred
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
RSpec::Matchers.define :assign_to do |first|
|
|
2
|
+
match do |actual|
|
|
3
|
+
@actual = actual
|
|
4
|
+
|
|
5
|
+
firsts = first.to_s.split('.', 2)
|
|
6
|
+
if firsts.length == 2
|
|
7
|
+
@first = assigns(firsts.first).send(firsts.last)
|
|
8
|
+
else
|
|
9
|
+
@first = assigns(first)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
case
|
|
13
|
+
when @second.is_a?(Class)
|
|
14
|
+
@first.is_a?(@second)
|
|
15
|
+
when @second.is_a?(Array)
|
|
16
|
+
expect(@first).to match_array(@second)
|
|
17
|
+
else
|
|
18
|
+
@first == @second
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
chain :with_items do |*second|
|
|
23
|
+
@second = Array(second)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
chain :with do |second|
|
|
27
|
+
@second = second
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
chain :with_kind_of do |second|
|
|
31
|
+
@second = second
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
failure_message do
|
|
35
|
+
build = ''
|
|
36
|
+
if @second.is_a?(Array)
|
|
37
|
+
build = "Expected to get IDs of #{@first.map(&:id)} but got #{@second.map(&:id)}\n"\
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
build + "#{@first.inspect}\n"\
|
|
41
|
+
" === BUT GOT ===\n"\
|
|
42
|
+
"#{@second.inspect}\n"
|
|
43
|
+
end
|
|
44
|
+
end
|
data/lib/kitestrings/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kitestrings
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tom Ridge
|
|
8
8
|
- Matt Connolly
|
|
9
9
|
- Geoffrey Donaldson
|
|
10
|
+
- Nigel Rausch
|
|
10
11
|
autorequire:
|
|
11
12
|
bindir: bin
|
|
12
13
|
cert_chain: []
|
|
13
|
-
date: 2015-02-
|
|
14
|
+
date: 2015-02-11 00:00:00.000000000 Z
|
|
14
15
|
dependencies:
|
|
15
16
|
- !ruby/object:Gem::Dependency
|
|
16
17
|
name: rails
|
|
@@ -101,6 +102,7 @@ email:
|
|
|
101
102
|
- tom.ridge@tworedkites.com
|
|
102
103
|
- matt.connolly@tworedkites.com
|
|
103
104
|
- geoffrey.donaldson@tworedkites.com
|
|
105
|
+
- nigel.rausch@tworedkites.com
|
|
104
106
|
executables: []
|
|
105
107
|
extensions: []
|
|
106
108
|
extra_rdoc_files: []
|
|
@@ -144,11 +146,14 @@ files:
|
|
|
144
146
|
- lib/generators/templates/rails/scaffold_controller/controller.rb
|
|
145
147
|
- lib/generators/templates/rspec/helper/helper_spec.rb
|
|
146
148
|
- lib/generators/templates/rspec/integration/request_spec.rb
|
|
149
|
+
- lib/generators/templates/rspec/model/fixtures.yml
|
|
147
150
|
- lib/generators/templates/rspec/model/model_spec.rb
|
|
148
151
|
- lib/generators/templates/rspec/scaffold/controller_spec.rb
|
|
149
152
|
- lib/generators/templates/rspec/scaffold/routing_spec.rb
|
|
150
153
|
- lib/generators/templates/rubocop/.rubocop.yml
|
|
154
|
+
- lib/generators/templates/rubocop/routing/.rubocop.yml
|
|
151
155
|
- lib/generators/templates/spec/rails_helper.rb
|
|
156
|
+
- lib/generators/templates/support/assign_to_matcher.rb
|
|
152
157
|
- lib/generators/templates/support/common_lets.rb
|
|
153
158
|
- lib/generators/templates/support/database_cleaner.rb
|
|
154
159
|
- lib/generators/templates/support/fracture.rb
|