authorized_rails_scaffolds 0.0.10 → 0.0.11
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 +7 -0
- data/README.md +13 -26
- data/lib/authorized_rails_scaffolds.rb +11 -2
- data/lib/authorized_rails_scaffolds/controller_macros.rb +22 -0
- data/lib/authorized_rails_scaffolds/factory_macros.rb +65 -0
- data/lib/authorized_rails_scaffolds/helper.rb +38 -115
- data/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper.rb +40 -0
- data/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper.rb +20 -0
- data/lib/authorized_rails_scaffolds/resource_macros.rb +81 -0
- data/lib/authorized_rails_scaffolds/route_example_macros.rb +43 -0
- data/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper.rb +17 -0
- data/lib/authorized_rails_scaffolds/rspec_scaffold_helper.rb +26 -0
- data/lib/authorized_rails_scaffolds/rspec_scaffold_routing_helper.rb +12 -0
- data/lib/authorized_rails_scaffolds/{rspec_scaffold_generator_view_helper.rb → rspec_scaffold_view_helper.rb} +3 -2
- data/lib/authorized_rails_scaffolds/test_var_macros.rb +40 -0
- data/lib/authorized_rails_scaffolds/version.rb +1 -1
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/_form.html.erb +4 -6
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/controller.rb +50 -34
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/edit.html.erb +2 -4
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/index.html.erb +17 -18
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/new.html.erb +2 -4
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/scaffold/show.html.erb +15 -17
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/controller_spec.rb +126 -101
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/edit_spec.rb +44 -39
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/index_spec.rb +73 -65
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/model_spec.rb +9 -8
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/new_spec.rb +38 -35
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/routing_spec.rb +21 -10
- data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/show_spec.rb +37 -20
- data/spec/lib/authorized_rails_scaffolds/rails_erb_scaffold_helper_spec.rb +59 -0
- data/spec/lib/authorized_rails_scaffolds/rails_scaffold_controller_helper_spec.rb +89 -0
- data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_controller_helper_spec.rb +155 -0
- data/spec/lib/authorized_rails_scaffolds/{rspec_scaffold_generator_helper_spec.rb → rspec_scaffold_routing_helper_spec.rb} +57 -50
- data/spec/lib/authorized_rails_scaffolds/rspec_scaffold_view_helper_spec.rb +86 -0
- data/spec/spec_helper.rb +5 -2
- data/spec/support/rails_erb_scaffold_helper_macros.rb +15 -0
- data/spec/support/rails_scaffold_controller_helper_macros.rb +15 -0
- data/spec/support/{rspec_scaffold_generator_helper_macros.rb → rspec_scaffold_controller_helper_macros.rb} +2 -2
- data/spec/support/rspec_scaffold_routing_helper_macros.rb +15 -0
- data/spec/support/rspec_scaffold_view_helper_macros.rb +15 -0
- metadata +66 -28
- data/lib/authorized_rails_scaffolds/rspec_scaffold_generator_helper.rb +0 -82
@@ -2,72 +2,75 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
<%-
|
4
4
|
|
5
|
-
t_helper = AuthorizedRailsScaffolds::
|
5
|
+
t_helper = AuthorizedRailsScaffolds::RSpecScaffoldViewHelper.new(
|
6
6
|
:class_name => class_name,
|
7
7
|
:singular_table_name => singular_table_name,
|
8
8
|
:file_name => file_name,
|
9
9
|
:attributes => attributes
|
10
10
|
)
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
resource_symbol = t_helper.resource_symbol
|
13
|
+
resource_table_name = t_helper.resource_table_name
|
14
14
|
|
15
|
-
|
15
|
+
resource_directory = t_helper.resource_directory
|
16
16
|
parent_model_tables = t_helper.parent_model_tables
|
17
17
|
|
18
18
|
output_attributes = t_helper.output_attributes
|
19
|
-
standard_attributes = t_helper.standard_attributes
|
20
19
|
datetime_attributes = t_helper.datetime_attributes
|
20
|
+
references_attributes = t_helper.references_attributes
|
21
|
+
standard_attributes = t_helper.standard_attributes
|
21
22
|
|
22
23
|
-%>
|
23
|
-
describe "<%=
|
24
|
+
describe "<%= resource_directory %>/new" do
|
24
25
|
|
25
26
|
<% parent_model_tables.each_with_index do |parent_model, index| -%>
|
26
27
|
<%- if index == 0 -%>
|
27
|
-
let(
|
28
|
+
let(<%= t_helper.references_test_sym(parent_model) %>) { FactoryGirl.build_stubbed(:<%= parent_model %>) }
|
28
29
|
<%- else -%>
|
29
|
-
let(
|
30
|
+
let(<%= t_helper.references_test_sym(parent_model) %>) { FactoryGirl.build_stubbed(:<%= parent_model %>, :<%= parent_model_tables[index - 1] %> => <%= parent_model_tables[index - 1] %>) }
|
30
31
|
<%- end -%>
|
31
32
|
<%- end -%>
|
32
|
-
|
33
|
-
|
33
|
+
<% references_attributes.each do |parent_attribute| -%>
|
34
|
+
<%- next if parent_model_tables.include? parent_attribute.name -%>
|
35
|
+
let(<%= t_helper.references_test_sym(parent_attribute.name) %>) { FactoryGirl.build_stubbed(:<%= parent_attribute.name %>) }
|
36
|
+
<% end -%>
|
37
|
+
let(<%= t_helper.resource_test_sym %>) do
|
38
|
+
FactoryGirl.build(:<%= t_helper.resource_table_name %><%= output_attributes.empty? ? ')' : ',' %>
|
34
39
|
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
35
|
-
:<%= attribute.name %> => <% if attribute.type == :references
|
40
|
+
:<%= attribute.name %> => <% if attribute.type == :references %><%= t_helper.references_test_property(attribute.name) %><% else %><%= t_helper.factory_attribute_value attribute.type, value_for(attribute) %><% end %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
36
41
|
<% end -%>
|
37
42
|
<%= output_attributes.empty? ? "" : " )\n" -%>
|
38
43
|
end
|
39
44
|
|
40
|
-
context
|
45
|
+
context<% if parent_model_tables.any? %> "within <%= parent_model_tables.join('/') %> nesting"<% end %> do<%- unless parent_model_tables.any? -%> # Within default nesting<% end %>
|
41
46
|
before(:each) do
|
42
47
|
# Add Properties for view scope
|
43
48
|
<%- parent_model_tables.each do |parent_model| -%>
|
44
|
-
assign(
|
49
|
+
assign(<%= t_helper.parent_sym(parent_model) %>, <%= t_helper.references_test_property(parent_model) %>)
|
45
50
|
<%- end -%>
|
46
|
-
assign(
|
51
|
+
assign(<%= resource_symbol %>, <%= t_helper.resource_test_property %>)
|
47
52
|
end
|
48
53
|
|
49
|
-
it "renders new <%=
|
54
|
+
it "renders new <%= resource_table_name %> form" do
|
50
55
|
render
|
51
56
|
|
52
57
|
<% if webrat? -%>
|
53
58
|
rendered.should have_selector("form", :action => <%= t_helper.controller_index_path %>, :method => "post") do |form|
|
54
59
|
<% for attribute in standard_attributes -%>
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
form.should have_selector("
|
59
|
-
<%- end -%>
|
60
|
+
form.should have_selector("<%= attribute.input_type -%>#<%= resource_table_name %>_<%= attribute.name %>", :name => "<%= resource_table_name %>[<%= attribute.name %>]")
|
61
|
+
<% end -%>
|
62
|
+
<% for attribute in references_attributes -%>
|
63
|
+
form.should have_selector("select#<%= resource_table_name %>_<%= attribute.name %>_id", :name => "<%= resource_table_name %>[<%= attribute.name %>_id]")
|
60
64
|
<% end -%>
|
61
65
|
end
|
62
66
|
<% else -%>
|
63
67
|
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
64
68
|
assert_select "form[action=?][method=?]", <%= t_helper.controller_index_path %>, "post" do
|
65
69
|
<% for attribute in standard_attributes -%>
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
assert_select "
|
70
|
-
<%- end -%>
|
70
|
+
assert_select "<%= attribute.input_type -%>#<%= resource_table_name %>_<%= attribute.name %>[name=?]", "<%= resource_table_name %>[<%= attribute.name %>]"
|
71
|
+
<% end -%>
|
72
|
+
<% for attribute in references_attributes -%>
|
73
|
+
assert_select "select#<%= resource_table_name %>_<%= attribute.name %>_id[name=?]", "<%= resource_table_name %>[<%= attribute.name %>_id]"
|
71
74
|
<% end -%>
|
72
75
|
end
|
73
76
|
<% end -%>
|
@@ -81,13 +84,13 @@ describe "<%= controller_directory %>/new" do
|
|
81
84
|
rendered.should have_selector("form", :action => <%= t_helper.controller_index_path %>, :method => "post") do |form|
|
82
85
|
<%- for attribute in datetime_attributes -%>
|
83
86
|
<%- if [:date, :datetime].include? attribute.type -%>
|
84
|
-
form.should have_selector("select#<%=
|
85
|
-
form.should have_selector("select#<%=
|
86
|
-
form.should have_selector("select#<%=
|
87
|
+
form.should have_selector("select#<%= resource_table_name %>_<%= attribute.name %>", :name => "<%= resource_table_name %>[<%= attribute.name %>]")
|
88
|
+
form.should have_selector("select#<%= resource_table_name %>_<%= attribute.name %>", :name => "<%= resource_table_name %>[<%= attribute.name %>]")
|
89
|
+
form.should have_selector("select#<%= resource_table_name %>_<%= attribute.name %>", :name => "<%= resource_table_name %>[<%= attribute.name %>]")
|
87
90
|
<%- end -%>
|
88
91
|
<%- if [:time, :datetime].include? attribute.type -%>
|
89
|
-
form.should have_selector("select#<%=
|
90
|
-
form.should have_selector("select#<%=
|
92
|
+
form.should have_selector("select#<%= resource_table_name %>_<%= attribute.name %>", :name => "<%= resource_table_name %>[<%= attribute.name %>]")
|
93
|
+
form.should have_selector("select#<%= resource_table_name %>_<%= attribute.name %>", :name => "<%= resource_table_name %>[<%= attribute.name %>]")
|
91
94
|
<%- end -%>
|
92
95
|
<% end -%>
|
93
96
|
end
|
@@ -97,21 +100,21 @@ describe "<%= controller_directory %>/new" do
|
|
97
100
|
<%- for attribute in datetime_attributes -%>
|
98
101
|
# <%= attribute.name %> values
|
99
102
|
<%- if [:date, :datetime].include? attribute.type -%>
|
100
|
-
assert_select "select#<%=
|
103
|
+
assert_select "select#<%= resource_table_name %>_<%= attribute.name %>_1i[name=?]", "<%= resource_table_name %>[<%= attribute.name %>(1i)]" do
|
101
104
|
assert_select "option[selected=selected]", :text => "<%= t_helper.date_select_year_value attribute.default %>", :count => 1
|
102
105
|
end
|
103
|
-
assert_select "select#<%=
|
106
|
+
assert_select "select#<%= resource_table_name %>_<%= attribute.name %>_2i[name=?]", "<%= resource_table_name %>[<%= attribute.name %>(2i)]" do
|
104
107
|
assert_select "option[selected=selected][value=?]", "<%= t_helper.date_select_month_value attribute.default %>", :text => "<%= t_helper.date_select_month_text attribute.default %>", :count => 1
|
105
108
|
end
|
106
|
-
assert_select "select#<%=
|
109
|
+
assert_select "select#<%= resource_table_name %>_<%= attribute.name %>_3i[name=?]", "<%= resource_table_name %>[<%= attribute.name %>(3i)]" do
|
107
110
|
assert_select "option[selected=selected]", :text => "<%= t_helper.date_select_day_value attribute.default %>", :count => 1
|
108
111
|
end
|
109
112
|
<%- end -%>
|
110
113
|
<%- if [:time, :datetime].include? attribute.type -%>
|
111
|
-
assert_select "select#<%=
|
114
|
+
assert_select "select#<%= resource_table_name %>_<%= attribute.name %>_4i[name=?]", "<%= resource_table_name %>[<%= attribute.name %>(4i)]" do
|
112
115
|
assert_select "option[selected=selected]", :text => "<%= t_helper.date_select_hour_value attribute.default %>", :count => 1
|
113
116
|
end
|
114
|
-
assert_select "select#<%=
|
117
|
+
assert_select "select#<%= resource_table_name %>_<%= attribute.name %>_5i[name=?]", "<%= resource_table_name %>[<%= attribute.name %>(5i)]" do
|
115
118
|
assert_select "option[selected=selected]", :text => "<%= t_helper.date_select_minute_value attribute.default %>", :count => 1
|
116
119
|
end
|
117
120
|
<%- end -%>
|
data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/routing_spec.rb
CHANGED
@@ -3,50 +3,61 @@ require "spec_helper"
|
|
3
3
|
<% module_namespacing do -%>
|
4
4
|
<%-
|
5
5
|
|
6
|
-
|
6
|
+
#
|
7
|
+
# Available properties:
|
8
|
+
#
|
9
|
+
# class_name
|
10
|
+
# controller_class_name
|
11
|
+
# singular_table_name
|
12
|
+
# file_name
|
13
|
+
# attributes
|
14
|
+
#
|
15
|
+
|
16
|
+
t_helper = AuthorizedRailsScaffolds::RSpecScaffoldRoutingHelper.new(
|
7
17
|
:class_name => class_name,
|
18
|
+
:controller_class_name => controller_class_name,
|
8
19
|
:singular_table_name => singular_table_name,
|
9
20
|
:file_name => file_name,
|
10
21
|
:attributes => attributes
|
11
22
|
)
|
12
23
|
|
13
24
|
# request_path = t_helper.request_path
|
14
|
-
|
25
|
+
resource_directory = t_helper.resource_directory
|
15
26
|
example_controller_path = t_helper.example_controller_path
|
16
27
|
example_controller_path_extra_params = t_helper.example_controller_path_extra_params
|
17
28
|
|
18
29
|
-%>
|
19
|
-
describe <%= controller_class_name %>
|
30
|
+
describe <%= t_helper.controller_class_name %> do
|
20
31
|
describe "routing" do
|
21
32
|
|
22
33
|
<% unless options[:singleton] -%>
|
23
34
|
it "routes to #index" do
|
24
|
-
get("<%= example_controller_path %>").should route_to("<%=
|
35
|
+
get("<%= example_controller_path %>").should route_to("<%= resource_directory %>#index"<%= example_controller_path_extra_params %>)
|
25
36
|
end
|
26
37
|
|
27
38
|
<% end -%>
|
28
39
|
it "routes to #new" do
|
29
|
-
get("<%= example_controller_path %>/new").should route_to("<%=
|
40
|
+
get("<%= example_controller_path %>/new").should route_to("<%= resource_directory %>#new"<%= example_controller_path_extra_params %>)
|
30
41
|
end
|
31
42
|
|
32
43
|
it "routes to #show" do
|
33
|
-
get("<%= example_controller_path %>/1").should route_to("<%=
|
44
|
+
get("<%= example_controller_path %>/1").should route_to("<%= resource_directory %>#show"<%= example_controller_path_extra_params %>, :id => "1")
|
34
45
|
end
|
35
46
|
|
36
47
|
it "routes to #edit" do
|
37
|
-
get("<%= example_controller_path %>/1/edit").should route_to("<%=
|
48
|
+
get("<%= example_controller_path %>/1/edit").should route_to("<%= resource_directory %>#edit"<%= example_controller_path_extra_params %>, :id => "1")
|
38
49
|
end
|
39
50
|
|
40
51
|
it "routes to #create" do
|
41
|
-
post("<%= example_controller_path %>").should route_to("<%=
|
52
|
+
post("<%= example_controller_path %>").should route_to("<%= resource_directory %>#create"<%= example_controller_path_extra_params %>)
|
42
53
|
end
|
43
54
|
|
44
55
|
it "routes to #update" do
|
45
|
-
put("<%= example_controller_path %>/1").should route_to("<%=
|
56
|
+
put("<%= example_controller_path %>/1").should route_to("<%= resource_directory %>#update"<%= example_controller_path_extra_params %>, :id => "1")
|
46
57
|
end
|
47
58
|
|
48
59
|
it "routes to #destroy" do
|
49
|
-
delete("<%= example_controller_path %>/1").should route_to("<%=
|
60
|
+
delete("<%= example_controller_path %>/1").should route_to("<%= resource_directory %>#destroy"<%= example_controller_path_extra_params %>, :id => "1")
|
50
61
|
end
|
51
62
|
|
52
63
|
end
|
data/lib/generators/authorized_rails_scaffolds/install_templates/templates/spec/show_spec.rb
CHANGED
@@ -2,47 +2,55 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
<%-
|
4
4
|
|
5
|
-
t_helper = AuthorizedRailsScaffolds::
|
5
|
+
t_helper = AuthorizedRailsScaffolds::RSpecScaffoldViewHelper.new(
|
6
6
|
:class_name => class_name,
|
7
7
|
:singular_table_name => singular_table_name,
|
8
8
|
:file_name => file_name,
|
9
9
|
:attributes => attributes
|
10
10
|
)
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
resource_var = t_helper.resource_var
|
13
|
+
resource_symbol = t_helper.resource_symbol
|
14
|
+
resource_table_name = t_helper.resource_table_name
|
15
|
+
resource_test_property = t_helper.resource_test_property
|
14
16
|
|
15
|
-
|
17
|
+
resource_directory = t_helper.resource_directory
|
16
18
|
parent_model_tables = t_helper.parent_model_tables
|
17
19
|
|
18
20
|
output_attributes = t_helper.output_attributes
|
21
|
+
datetime_attributes = t_helper.datetime_attributes
|
19
22
|
references_attributes = t_helper.references_attributes
|
23
|
+
standard_attributes = t_helper.standard_attributes
|
20
24
|
|
21
25
|
-%>
|
22
|
-
describe "<%=
|
26
|
+
describe "<%= resource_directory %>/show" do
|
23
27
|
|
24
28
|
<% parent_model_tables.each_with_index do |parent_model, index| -%>
|
25
29
|
<%- if index == 0 -%>
|
26
|
-
let(
|
30
|
+
let(<%= t_helper.references_test_sym(parent_model) %>) { FactoryGirl.build_stubbed(:<%= parent_model %>) }
|
27
31
|
<%- else -%>
|
28
|
-
let(
|
32
|
+
let(<%= t_helper.references_test_sym(parent_model) %>) { FactoryGirl.build_stubbed(:<%= parent_model %>, :<%= parent_model_tables[index - 1] %> => <%= parent_model_tables[index - 1] %>) }
|
29
33
|
<%- end -%>
|
30
34
|
<%- end -%>
|
31
|
-
|
32
|
-
|
35
|
+
<% references_attributes.each do |parent_attribute| -%>
|
36
|
+
<%- next if parent_model_tables.include? parent_attribute.name -%>
|
37
|
+
let(<%= t_helper.references_test_sym(parent_attribute.name) %>) { FactoryGirl.build_stubbed(:<%= parent_attribute.name %>) }
|
38
|
+
<% end -%>
|
39
|
+
let(<%= t_helper.resource_test_sym %>) do
|
40
|
+
FactoryGirl.build_stubbed(:<%= t_helper.resource_table_name %><%= output_attributes.empty? ? ')' : ',' %>
|
33
41
|
<% output_attributes.each_with_index do |attribute, attribute_index| -%>
|
34
|
-
:<%= attribute.name %> => <% if attribute.type == :references
|
42
|
+
:<%= attribute.name %> => <% if attribute.type == :references %><%= t_helper.references_test_property(attribute.name) %><% else %><%= t_helper.factory_attribute_value attribute.type, value_for(attribute) %><% end %><%= attribute_index == output_attributes.length - 1 ? '' : ','%>
|
35
43
|
<% end -%>
|
36
44
|
<%= output_attributes.empty? ? "" : " )\n" -%>
|
37
45
|
end
|
38
46
|
|
39
|
-
context
|
47
|
+
context<% if parent_model_tables.any? %> "within <%= parent_model_tables.join('/') %> nesting"<% end %> do<%- unless parent_model_tables.any? -%> # Within default nesting<% end %>
|
40
48
|
before(:each) do
|
41
49
|
# Add Properties for view scope
|
42
50
|
<%- parent_model_tables.each do |parent_model| -%>
|
43
|
-
assign(
|
51
|
+
assign(<%= t_helper.parent_sym(parent_model) %>, <%= t_helper.references_test_property(parent_model) %>)
|
44
52
|
<%- end -%>
|
45
|
-
assign(
|
53
|
+
assign(<%= resource_symbol %>, <%= t_helper.resource_test_property %>)
|
46
54
|
|
47
55
|
@ability = Object.new
|
48
56
|
@ability.extend(CanCan::Ability)
|
@@ -54,7 +62,7 @@ describe "<%= controller_directory %>/show" do
|
|
54
62
|
<% unless webrat? -%>
|
55
63
|
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
56
64
|
<% end -%>
|
57
|
-
|
65
|
+
<%- for attribute in standard_attributes -%>
|
58
66
|
<%- if webrat? -%>
|
59
67
|
rendered.should have_selector("dl>dt", :content => <%= "#{attribute.human_name}:".dump %>)
|
60
68
|
rendered.should have_selector("dl>dd", :content => <%= t_helper.factory_attribute_string attribute.type, value_for(attribute) %>.to_s)
|
@@ -62,23 +70,32 @@ describe "<%= controller_directory %>/show" do
|
|
62
70
|
assert_select "dl>dt", :text => <%= "#{attribute.human_name}:".dump %>
|
63
71
|
assert_select "dl>dd", :text => <%= t_helper.factory_attribute_string attribute.type, value_for(attribute) %>.to_s
|
64
72
|
<%- end -%>
|
65
|
-
|
73
|
+
<%- end -%>
|
74
|
+
<%- for attribute in datetime_attributes -%>
|
75
|
+
<%- if webrat? -%>
|
76
|
+
rendered.should have_selector("dl>dt", :content => <%= "#{attribute.human_name}:".dump %>)
|
77
|
+
rendered.should have_selector("dl>dd", :content => <%= t_helper.factory_attribute_string attribute.type, value_for(attribute) %>.to_s)
|
78
|
+
<%- else -%>
|
79
|
+
assert_select "dl>dt", :text => <%= "#{attribute.human_name}:".dump %>
|
80
|
+
assert_select "dl>dd", :text => <%= t_helper.factory_attribute_string attribute.type, value_for(attribute) %>.to_s
|
81
|
+
<%- end -%>
|
82
|
+
<%- end -%>
|
66
83
|
end
|
67
84
|
<% for attribute in references_attributes -%>
|
68
85
|
|
69
86
|
context "with a <%= attribute.name %> reference" do
|
70
87
|
before(:each) do
|
71
|
-
|
88
|
+
<%= resource_test_property %>.<%= attribute.name %> = FactoryGirl.build_stubbed(:<%= attribute.name %>)
|
72
89
|
end
|
73
90
|
context 'without read <%= attribute.name.classify %> permissions' do
|
74
91
|
it "should not a render link to <%= attribute.name %>" do
|
75
92
|
render
|
76
93
|
<% if webrat? -%>
|
77
94
|
rendered.should have_selector("dl>dt", :content => <%= "#{attribute.human_name}:".dump %>, :count => 0)
|
78
|
-
rendered.should have_selector("dl>dd>a[href]", :href => <%= t_helper.references_show_route
|
95
|
+
rendered.should have_selector("dl>dd>a[href]", :href => <%= t_helper.references_show_route(attribute.name) %>, :count => 0)
|
79
96
|
<% else -%>
|
80
97
|
assert_select "dl>dt", :text => <%= "#{attribute.human_name}:".dump %>, :count => 0
|
81
|
-
assert_select "dl>dd>a[href=?]", <%= t_helper.references_show_route
|
98
|
+
assert_select "dl>dd>a[href=?]", <%= t_helper.references_show_route(attribute.name) %>, :count => 0
|
82
99
|
<% end -%>
|
83
100
|
end
|
84
101
|
end
|
@@ -90,10 +107,10 @@ describe "<%= controller_directory %>/show" do
|
|
90
107
|
render
|
91
108
|
<% if webrat? -%>
|
92
109
|
rendered.should have_selector("dl>dt", :content => <%= "#{attribute.human_name}:".dump %>)
|
93
|
-
rendered.should have_selector("dl>dd>a[href]", :href => <%= t_helper.references_show_route
|
110
|
+
rendered.should have_selector("dl>dd>a[href]", :href => <%= t_helper.references_show_route(attribute.name) %>, :count => 1)
|
94
111
|
<% else -%>
|
95
112
|
assert_select "dl>dt", :text => <%= "#{attribute.human_name}:".dump %>
|
96
|
-
assert_select "dl>dd>a[href=?]", <%= t_helper.references_show_route
|
113
|
+
assert_select "dl>dd>a[href=?]", <%= t_helper.references_show_route(attribute.name) %>, :count => 1
|
97
114
|
<% end -%>
|
98
115
|
end
|
99
116
|
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe AuthorizedRailsScaffolds::RailsErbScaffoldHelper do
|
4
|
+
include RailsErbScaffoldHelperMacros
|
5
|
+
|
6
|
+
describe '#scoped_values_for_form' do
|
7
|
+
context 'with no parent modules' do
|
8
|
+
it 'returns the resource variable' do
|
9
|
+
subject = build_rails_erb_scaffold_spec_helper :class_name => 'FooBar', :var_name => 'foo_bar'
|
10
|
+
subject.scoped_values_for_form.should eq('@foo_bar')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
context 'with a parent modules' do
|
14
|
+
it 'returns a array with the parent module symbol and the resource variable' do
|
15
|
+
subject = build_rails_erb_scaffold_spec_helper :class_name => 'Example::FooBar', :var_name => 'foo_bar'
|
16
|
+
subject.scoped_values_for_form.should eq('[:example, @foo_bar]')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
context 'with multiple parent modules' do
|
20
|
+
it 'returns a array with all parent modules as symbols and the resource variable' do
|
21
|
+
subject = build_rails_erb_scaffold_spec_helper :class_name => 'Example::V1::FooBar', :var_name => 'foo_bar'
|
22
|
+
subject.scoped_values_for_form.should eq('[:example, :v1, @foo_bar]')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
context 'with a parent model' do
|
26
|
+
before(:each) do
|
27
|
+
AuthorizedRailsScaffolds.configure do |config|
|
28
|
+
config.parent_models = ['Parent']
|
29
|
+
end
|
30
|
+
end
|
31
|
+
context 'with no parent modules' do
|
32
|
+
it 'returns a array with the parent model and the resource variable' do
|
33
|
+
subject = build_rails_erb_scaffold_spec_helper :class_name => 'FooBar', :var_name => 'foo_bar'
|
34
|
+
subject.scoped_values_for_form.should eq('[@parent, @foo_bar]')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
context 'with a parent modules' do
|
38
|
+
it 'returns a array with the parent modules, the parent model and the resource variable' do
|
39
|
+
subject = build_rails_erb_scaffold_spec_helper :class_name => 'Example::FooBar', :var_name => 'foo_bar'
|
40
|
+
subject.scoped_values_for_form.should eq('[:example, @parent, @foo_bar]')
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe '#resource_var' do
|
47
|
+
it 'returns var_name preceeded by an @' do
|
48
|
+
subject = build_rails_erb_scaffold_spec_helper :var_name => 'foo_bar'
|
49
|
+
subject.resource_var.should eq('@foo_bar')
|
50
|
+
end
|
51
|
+
context 'with a parent module' do
|
52
|
+
it 'falls back to using class_name if var_name is not present' do
|
53
|
+
subject = build_rails_erb_scaffold_spec_helper :var_name => nil, :class_name => 'Example::FooBar'
|
54
|
+
subject.resource_var.should eq('@foo_bar')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe AuthorizedRailsScaffolds::RailsScaffoldControllerHelper do
|
4
|
+
include RailsScaffoldControllerHelperMacros
|
5
|
+
|
6
|
+
describe '#application_controller_class' do
|
7
|
+
context 'with no parent modules' do
|
8
|
+
it 'returns a default ApplicationController' do
|
9
|
+
subject = build_rails_controller_spec_helper :class_name => 'FooBar'
|
10
|
+
subject.application_controller_class.should eq('ApplicationController')
|
11
|
+
end
|
12
|
+
end
|
13
|
+
context 'with a parent modules' do
|
14
|
+
it 'returns a ApplicationController nested within the parent module' do
|
15
|
+
subject = build_rails_controller_spec_helper :class_name => 'Example::FooBar'
|
16
|
+
subject.application_controller_class.should eq('Example::ApplicationController')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
context 'with multiple parent modules' do
|
20
|
+
it 'returns a ApplicationController nested within the parent modules' do
|
21
|
+
subject = build_rails_controller_spec_helper :class_name => 'Example::V1::FooBar'
|
22
|
+
subject.application_controller_class.should eq('Example::V1::ApplicationController')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
context 'with a parent module' do
|
26
|
+
before(:each) do
|
27
|
+
AuthorizedRailsScaffolds.configure do |config|
|
28
|
+
config.parent_models = ['Parent']
|
29
|
+
end
|
30
|
+
end
|
31
|
+
it 'ignores the parent module value' do
|
32
|
+
subject = build_rails_controller_spec_helper :class_name => 'FooBar'
|
33
|
+
subject.application_controller_class.should eq('ApplicationController')
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
describe '#controller_class_name' do
|
39
|
+
context 'with no parent modules' do
|
40
|
+
it 'returns the pluralized class_name with Controller appended' do
|
41
|
+
subject = build_rails_controller_spec_helper :class_name => 'FooBar'
|
42
|
+
subject.controller_class_name.should eq('FooBarsController')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
context 'with a parent modules' do
|
46
|
+
it 'returns the pluralized controller class name nested within the parent module' do
|
47
|
+
subject = build_rails_controller_spec_helper :class_name => 'Example::FooBar'
|
48
|
+
subject.controller_class_name.should eq('Example::FooBarsController')
|
49
|
+
end
|
50
|
+
end
|
51
|
+
context 'with multiple parent modules' do
|
52
|
+
it 'returns the pluralized controller class name nested within the parent modules' do
|
53
|
+
subject = build_rails_controller_spec_helper :class_name => 'Example::V1::FooBar'
|
54
|
+
subject.controller_class_name.should eq('Example::V1::FooBarsController')
|
55
|
+
end
|
56
|
+
end
|
57
|
+
context 'with generated controller_class_name value' do
|
58
|
+
it 'returns the generated controller_class_name with Controller appended' do
|
59
|
+
subject = build_rails_controller_spec_helper :controller_class_name => 'Example::V1::FooBars'
|
60
|
+
subject.controller_class_name.should eq('Example::V1::FooBarsController')
|
61
|
+
end
|
62
|
+
end
|
63
|
+
context 'with a parent module' do
|
64
|
+
before(:each) do
|
65
|
+
AuthorizedRailsScaffolds.configure do |config|
|
66
|
+
config.parent_models = ['Parent']
|
67
|
+
end
|
68
|
+
end
|
69
|
+
it 'ignores the parent module value' do
|
70
|
+
subject = build_rails_controller_spec_helper :class_name => 'FooBar'
|
71
|
+
subject.controller_class_name.should eq('FooBarsController')
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe '#resource_var' do
|
77
|
+
it 'returns var_name preceeded by an @' do
|
78
|
+
subject = build_rails_controller_spec_helper :var_name => 'foo_bar'
|
79
|
+
subject.resource_var.should eq('@foo_bar')
|
80
|
+
end
|
81
|
+
context 'with a parent module' do
|
82
|
+
it 'falls back to using class_name if var_name is not present' do
|
83
|
+
subject = build_rails_controller_spec_helper :var_name => nil, :class_name => 'Example::FooBar'
|
84
|
+
subject.resource_var.should eq('@foo_bar')
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|