selections 0.0.1 → 0.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.
- data/.gitignore +18 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +4 -0
- data/{MIT-LICENSE → LICENSE.txt} +4 -2
- data/README.md +237 -0
- data/Rakefile +3 -29
- data/lib/selections.rb +22 -6
- data/lib/selections/belongs_to_selection.rb +20 -0
- data/lib/selections/form_builder_extensions.rb +86 -0
- data/lib/selections/selectable.rb +125 -0
- data/lib/selections/version.rb +1 -1
- data/selections.gemspec +38 -0
- data/spec/selections/selectable_spec.rb +220 -0
- data/spec/selections/selections_tag_spec.rb +203 -0
- data/spec/spec_helper.rb +30 -21
- metadata +99 -177
- data/README.rdoc +0 -3
- data/app/assets/javascripts/selections/application.js +0 -9
- data/app/assets/javascripts/selections/selections.js +0 -2
- data/app/assets/stylesheets/scaffold.css +0 -56
- data/app/assets/stylesheets/selections/application.css +0 -7
- data/app/assets/stylesheets/selections/selections.css +0 -4
- data/app/controllers/selections/application_controller.rb +0 -4
- data/app/controllers/selections/selections_controller.rb +0 -45
- data/app/helpers/selections/application_helper.rb +0 -4
- data/app/helpers/selections/selectors_helper.rb +0 -4
- data/app/models/selections/selection.rb +0 -83
- data/app/views/layouts/selections/application.html.erb +0 -1
- data/app/views/selections/selections/_form.html.erb +0 -41
- data/app/views/selections/selections/edit.html.erb +0 -6
- data/app/views/selections/selections/index.html.erb +0 -33
- data/app/views/selections/selections/new.html.erb +0 -5
- data/app/views/selections/selections/show.html.erb +0 -35
- data/config/initializers/selections.rb +0 -1
- data/config/routes.rb +0 -5
- data/db/migrate/20120114024459_create_selections_selections.rb +0 -15
- data/lib/selections/engine.rb +0 -5
- data/lib/selections/selection_select.rb +0 -24
- data/lib/tasks/selections_tasks.rake +0 -4
- data/spec/controllers/companies_controller_spec.rb +0 -10
- data/spec/controllers/selections/selections_controller_spec.rb +0 -165
- data/spec/dummy/Rakefile +0 -7
- data/spec/dummy/app/assets/javascripts/application.js +0 -9
- data/spec/dummy/app/assets/javascripts/companies.js +0 -2
- data/spec/dummy/app/assets/stylesheets/application.css +0 -7
- data/spec/dummy/app/assets/stylesheets/companies.css +0 -4
- data/spec/dummy/app/assets/stylesheets/scaffold.css +0 -56
- data/spec/dummy/app/controllers/application_controller.rb +0 -2
- data/spec/dummy/app/controllers/companies_controller.rb +0 -83
- data/spec/dummy/app/helpers/application_helper.rb +0 -2
- data/spec/dummy/app/helpers/companies_helper.rb +0 -2
- data/spec/dummy/app/models/company.rb +0 -7
- data/spec/dummy/app/views/companies/_form.html.erb +0 -3
- data/spec/dummy/app/views/companies/edit.html.erb +0 -4
- data/spec/dummy/app/views/companies/index.html.erb +0 -27
- data/spec/dummy/app/views/companies/new.html.erb +0 -5
- data/spec/dummy/app/views/companies/show.html.erb +0 -20
- data/spec/dummy/app/views/layouts/application.html.erb +0 -11
- data/spec/dummy/config.ru +0 -4
- data/spec/dummy/config/application.rb +0 -45
- data/spec/dummy/config/boot.rb +0 -10
- data/spec/dummy/config/database.yml +0 -25
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -30
- data/spec/dummy/config/environments/production.rb +0 -60
- data/spec/dummy/config/environments/test.rb +0 -42
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummy/config/initializers/inflections.rb +0 -10
- data/spec/dummy/config/initializers/mime_types.rb +0 -5
- data/spec/dummy/config/initializers/secret_token.rb +0 -7
- data/spec/dummy/config/initializers/session_store.rb +0 -8
- data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/spec/dummy/config/locales/en.yml +0 -5
- data/spec/dummy/config/routes.rb +0 -6
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20120114125226_create_selections_selections.rb +0 -15
- data/spec/dummy/db/migrate/20120115055119_create_companies.rb +0 -12
- data/spec/dummy/db/schema.rb +0 -38
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +0 -94
- data/spec/dummy/log/test.log +0 -26360
- data/spec/dummy/public/404.html +0 -26
- data/spec/dummy/public/422.html +0 -26
- data/spec/dummy/public/500.html +0 -26
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +0 -6
- data/spec/helpers/selections/selections_helper_spec.rb +0 -15
- data/spec/models/company_spec.rb +0 -7
- data/spec/models/selections/selection_spec.rb +0 -219
- data/spec/routing/selections/selections_routing_spec.rb +0 -35
- data/spec/support/controller_route_fix.rb +0 -33
- data/spec/support/factories/company_factory.rb +0 -5
- data/spec/support/factories/selection_factory.rb +0 -5
- data/spec/views/companies/edit.html.erb_spec.rb +0 -76
- data/spec/views/companies/new.html.erb_spec.rb +0 -78
- data/spec/views/selections/selections/edit.html.erb_spec.rb +0 -28
- data/spec/views/selections/selections/index.html.erb_spec.rb +0 -40
- data/spec/views/selections/selections/new.html.erb_spec.rb +0 -28
- data/spec/views/selections/selections/show.html.erb_spec.rb +0 -30
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "companies/new" do
|
|
4
|
-
context "default selection list" do
|
|
5
|
-
before do
|
|
6
|
-
@company = Factory.build(:company)
|
|
7
|
-
assign(:company, @company)
|
|
8
|
-
@parent_10 = Factory(:selection, :system_code => "state")
|
|
9
|
-
@child_11 = Factory(:selection, :parent => @parent_10)
|
|
10
|
-
@child_12 = Factory(:selection, :parent => @parent_10, :is_default => true)
|
|
11
|
-
@child_13 = Factory(:selection, :parent => @parent_10)
|
|
12
|
-
@child_14 = Factory(:selection, :parent => @parent_10)
|
|
13
|
-
@parent_20 = Factory(:selection, :system_code => "priority")
|
|
14
|
-
@child_21 = Factory(:selection, :parent => @parent_20, :is_default => true)
|
|
15
|
-
@child_22 = Factory(:selection, :parent => @parent_21)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it "should display error when field does not match system_code" do
|
|
19
|
-
assign(:field, :not_match)
|
|
20
|
-
render
|
|
21
|
-
assert_select "form", "Invalid system_code"
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
context "standard" do
|
|
25
|
-
before(:each) do
|
|
26
|
-
assign(:field, :state)
|
|
27
|
-
assign(:options, nil)
|
|
28
|
-
assign(:html_options, nil)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
it "selection with default item" do
|
|
32
|
-
render
|
|
33
|
-
assert_select "form", :action => companies_path, :method => "post" do
|
|
34
|
-
assert_select "select#company_state_id[name='company[state_id]']" do
|
|
35
|
-
selected_options(@parent_10.children, @child_12, false)
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
it "selection with no default set" do
|
|
40
|
-
@child_12.update_attribute(:is_default, false)
|
|
41
|
-
render
|
|
42
|
-
selected_options(@parent_10.children, nil, true)
|
|
43
|
-
end
|
|
44
|
-
it "selection with archived item" do
|
|
45
|
-
@child_13.update_attribute(:archived, true)
|
|
46
|
-
render
|
|
47
|
-
selected_options(@parent_10.children-[@child_13], @child_12, false)
|
|
48
|
-
end
|
|
49
|
-
it "selection with archived default item" do
|
|
50
|
-
@child_12.update_attribute(:archived, true)
|
|
51
|
-
render
|
|
52
|
-
selected_options(@parent_10.children-[@child_12], nil, true)
|
|
53
|
-
end
|
|
54
|
-
it "should have blank selection when :include_blank is true" do
|
|
55
|
-
assign(:options, {:include_blank => true})
|
|
56
|
-
render
|
|
57
|
-
selected_options(@parent_10.children, @child_12, true)
|
|
58
|
-
end
|
|
59
|
-
it "should not have blank when no default and :include_blank is false" do
|
|
60
|
-
assign(:options, {:include_blank => false})
|
|
61
|
-
@child_12.update_attribute(:is_default, false)
|
|
62
|
-
render
|
|
63
|
-
selected_options(@parent_10.children, nil, false)
|
|
64
|
-
end
|
|
65
|
-
it "it should use fieldname which does not match a system_code" do
|
|
66
|
-
assign(:options, {:system_code => "state"})
|
|
67
|
-
assign(:field, :genre)
|
|
68
|
-
render
|
|
69
|
-
selected_options(@parent_10.children, @child_12, false)
|
|
70
|
-
end
|
|
71
|
-
it "should use the value in state if set (and ignore default) - when page not saved and reloads" do
|
|
72
|
-
@company.state = @child_14
|
|
73
|
-
render
|
|
74
|
-
selected_options(@parent_10.children, @child_14, false)
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "selections/edit" do
|
|
4
|
-
before(:each) do
|
|
5
|
-
@selection = assign(:selection, stub_model(Selection,
|
|
6
|
-
:name => "MyString",
|
|
7
|
-
:parent_id => 1,
|
|
8
|
-
:system_code => "MyString",
|
|
9
|
-
:position => 1,
|
|
10
|
-
:is_default => false,
|
|
11
|
-
:is_system => false
|
|
12
|
-
))
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it "renders the edit selection form" do
|
|
16
|
-
render
|
|
17
|
-
|
|
18
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
19
|
-
assert_select "form", :action => selections_path(@selection), :method => "post" do
|
|
20
|
-
assert_select "input#selection_name", :name => "selection[name]"
|
|
21
|
-
assert_select "input#selection_parent_id", :name => "selection[parent_id]"
|
|
22
|
-
assert_select "input#selection_system_code", :name => "selection[system_code]"
|
|
23
|
-
assert_select "input#selection_position", :name => "selection[position]"
|
|
24
|
-
assert_select "input#selection_is_default", :name => "selection[is_default]"
|
|
25
|
-
assert_select "input#selection_is_system", :name => "selection[is_system]"
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "selections/index" do
|
|
4
|
-
before(:each) do
|
|
5
|
-
assign(:selections, [
|
|
6
|
-
stub_model(Selection,
|
|
7
|
-
:name => "Name",
|
|
8
|
-
:parent_id => 1,
|
|
9
|
-
:system_code => "System Code",
|
|
10
|
-
:position => 1,
|
|
11
|
-
:is_default => false,
|
|
12
|
-
:is_system => false
|
|
13
|
-
),
|
|
14
|
-
stub_model(Selection,
|
|
15
|
-
:name => "Name",
|
|
16
|
-
:parent_id => 1,
|
|
17
|
-
:system_code => "System Code",
|
|
18
|
-
:position => 1,
|
|
19
|
-
:is_default => false,
|
|
20
|
-
:is_system => false
|
|
21
|
-
)
|
|
22
|
-
])
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it "renders a list of selections" do
|
|
26
|
-
render
|
|
27
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
28
|
-
assert_select "tr>td", :text => "Name".to_s, :count => 2
|
|
29
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
30
|
-
assert_select "tr>td", :text => 1.to_s, :count => 2
|
|
31
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
32
|
-
assert_select "tr>td", :text => "System Code".to_s, :count => 2
|
|
33
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
34
|
-
assert_select "tr>td", :text => 1.to_s, :count => 2
|
|
35
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
36
|
-
assert_select "tr>td", :text => false.to_s, :count => 2
|
|
37
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
38
|
-
assert_select "tr>td", :text => false.to_s, :count => 2
|
|
39
|
-
end
|
|
40
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "selections/new" do
|
|
4
|
-
before(:each) do
|
|
5
|
-
assign(:selection, stub_model(Selection,
|
|
6
|
-
:name => "MyString",
|
|
7
|
-
:parent_id => 1,
|
|
8
|
-
:system_code => "MyString",
|
|
9
|
-
:position => 1,
|
|
10
|
-
:is_default => false,
|
|
11
|
-
:is_system => false
|
|
12
|
-
).as_new_record)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it "renders new selection form" do
|
|
16
|
-
render
|
|
17
|
-
|
|
18
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
19
|
-
assert_select "form", :action => selections_path, :method => "post" do
|
|
20
|
-
assert_select "input#selection_name", :name => "selection[name]"
|
|
21
|
-
assert_select "input#selection_parent_id", :name => "selection[parent_id]"
|
|
22
|
-
assert_select "input#selection_system_code", :name => "selection[system_code]"
|
|
23
|
-
assert_select "input#selection_position", :name => "selection[position]"
|
|
24
|
-
assert_select "input#selection_is_default", :name => "selection[is_default]"
|
|
25
|
-
assert_select "input#selection_is_system", :name => "selection[is_system]"
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "selections/show" do
|
|
4
|
-
before(:each) do
|
|
5
|
-
@selection = assign(:selection, stub_model(Selection,
|
|
6
|
-
:name => "Name",
|
|
7
|
-
:parent_id => 1,
|
|
8
|
-
:system_code => "System Code",
|
|
9
|
-
:position => 1,
|
|
10
|
-
:is_default => false,
|
|
11
|
-
:is_system => false
|
|
12
|
-
))
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it "renders attributes in <p>" do
|
|
16
|
-
render
|
|
17
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
18
|
-
rendered.should match(/Name/)
|
|
19
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
20
|
-
rendered.should match(/1/)
|
|
21
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
22
|
-
rendered.should match(/System Code/)
|
|
23
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
24
|
-
rendered.should match(/1/)
|
|
25
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
26
|
-
rendered.should match(/false/)
|
|
27
|
-
# Run the generator again with the --webrat flag if you want to use webrat matchers
|
|
28
|
-
rendered.should match(/false/)
|
|
29
|
-
end
|
|
30
|
-
end
|