dynamic_fields 0.1.0 → 0.2.0

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 (47) hide show
  1. data/README.md +22 -0
  2. data/app/assets/javascripts/dynamic_fields/jquery.dynamic_fields.js +15 -3
  3. data/app/helpers/dynamic_fields_helper.rb +5 -2
  4. data/lib/dynamic_fields/version.rb +1 -1
  5. data/test/dummy/app/assets/javascripts/application.js +1 -0
  6. data/test/dummy/app/assets/javascripts/category.js +10 -0
  7. data/test/dummy/app/controllers/categories_controller.rb +47 -0
  8. data/test/dummy/app/models/available_language.rb +4 -0
  9. data/test/dummy/app/models/category.rb +6 -0
  10. data/test/dummy/app/models/subcategory.rb +5 -0
  11. data/test/dummy/app/views/categories/_form.html.erb +31 -0
  12. data/test/dummy/app/views/categories/edit.html.erb +3 -0
  13. data/test/dummy/app/views/categories/new.html.erb +3 -0
  14. data/test/dummy/config/application.rb +1 -0
  15. data/test/dummy/config/database.yml +1 -5
  16. data/test/dummy/config/initializers/simple_form.rb +136 -0
  17. data/test/dummy/config/locales/simple_form.en.yml +24 -0
  18. data/test/dummy/config/routes.rb +1 -54
  19. data/test/dummy/db/development.sqlite3 +0 -0
  20. data/test/dummy/db/migrate/20120329183323_add_test_tables.rb +31 -0
  21. data/test/dummy/db/schema.rb +39 -0
  22. data/test/dummy/db/test.sqlite3 +0 -0
  23. data/test/dummy/lib/templates/erb/scaffold/_form.html.erb +13 -0
  24. data/test/dummy/log/development.log +2182 -0
  25. data/test/dummy/log/test.log +2369 -0
  26. data/test/dummy/tmp/cache/assets/C83/130/sprockets%2Fa08d178d4b71a990f163b46504982c28 +0 -0
  27. data/test/dummy/tmp/cache/assets/CB3/A30/sprockets%2F6d04c8476e080a28d55b11065d189ef7 +0 -0
  28. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  29. data/test/dummy/tmp/cache/assets/D11/D80/sprockets%2F5e7bc8e026400c478735f2a673f8c1cc +0 -0
  30. data/test/dummy/tmp/cache/assets/D14/530/sprockets%2F6aa64648434ac72bf70c8762f30be78d +0 -0
  31. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  32. data/test/dummy/tmp/cache/assets/D33/600/sprockets%2F70c187184f18b0ac1a4d4ea4be84d606 +0 -0
  33. data/test/dummy/tmp/cache/assets/D4B/CD0/sprockets%2F604268dd58a3c8cbed88c9d61f269e00 +0 -0
  34. data/test/dummy/tmp/cache/assets/D4D/1F0/sprockets%2Fe25fe62f6eac4e9ff1920398e20f7515 +0 -0
  35. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  36. data/test/dummy/tmp/cache/assets/D52/600/sprockets%2F574f4d5dc4fb44d4f453391f29e6ee65 +0 -0
  37. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  38. data/test/dummy/tmp/cache/assets/D81/A70/sprockets%2F7e6bf1374cf493fafa8c58838c4f351d +0 -0
  39. data/test/dummy/tmp/cache/assets/DBC/D50/sprockets%2Fcde339a8b08aa2150fda4ff4a2175bf1 +0 -0
  40. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  41. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  42. data/test/dummy/tmp/capybara/capybara-20120329164214784023357.html +13 -0
  43. data/test/dummy/tmp/pids/server.pid +1 -0
  44. data/test/factories.rb +19 -0
  45. data/test/integration/navigation_test.rb +39 -4
  46. data/test/test_helper.rb +27 -0
  47. metadata +135 -10
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN">
2
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Internal Server Error</title></head>
3
+ <body>
4
+ <h1>Internal Server Error</h1>
5
+ SQLite3::BusyException: cannot rollback transaction - SQL statements in progress: rollback transaction
6
+ <hr />
7
+ <address>
8
+ WEBrick/1.3.1 (Ruby/1.9.3/2011-10-30) at
9
+ 127.0.0.1:51504
10
+ </address>
11
+
12
+
13
+ </body></html>
@@ -0,0 +1 @@
1
+ 47392
data/test/factories.rb ADDED
@@ -0,0 +1,19 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :category do
4
+ name "main category"
5
+ end
6
+
7
+ factory :subcategory do
8
+ category
9
+
10
+ sequence(:name) {|n| "subcategory#{n}" }
11
+ active true
12
+ access_level 1
13
+ end
14
+
15
+ factory :available_language do
16
+ sequence(:name) {|n| "language#{n}" }
17
+ end
18
+
19
+ end
@@ -1,10 +1,45 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class NavigationTest < ActionDispatch::IntegrationTest
4
- fixtures :all
5
4
 
6
- # test "the truth" do
7
- # assert true
8
- # end
5
+ def setup
6
+ 1.upto(4) { FactoryGirl.create(:available_language) }
7
+ end
8
+
9
+ def teardown
10
+ AvailableLanguage.delete_all
11
+ end
12
+
13
+ test 'the new category page should render the form correctly' do
14
+ visit new_category_path
15
+ assert page.has_selector?('div.nested_field')
16
+ assert find('.remove_dynamic_field').has_content?('remove')
17
+ assert !page.has_selector?("fieldset.item input[name*='_destroy']")
18
+ end
19
+
20
+ test 'be able to generate another nested fieldset' do
21
+ Capybara.current_driver = :selenium
22
+ visit new_category_path
23
+ find("#more_subcategories").click
24
+ assert_equal 2, all('div.nested_field').size
25
+ assert_equal 'true', find('#category_subcategories_attributes_1_active_true')['value']
26
+ assert_equal find("input[name='category[subcategories_attributes][0][available_language_ids][]']:first")['value'], find("input[name='category[subcategories_attributes][0][available_language_ids][]']:first")['value']
27
+ end
28
+
29
+ test 'create a category with multiple subcategories' do
30
+ Capybara.current_driver = :selenium
31
+ visit new_category_path
32
+ fill_in "category_name", :with => "good category"
33
+ fill_in "category_subcategories_attributes_0_name", :with => "this is a new subcategory"
34
+ find("#more_subcategories").click
35
+ fill_in "category_subcategories_attributes_1_name", :with => "this is another subcategory"
36
+ find(".form-actions input").click
37
+ category = Category.find_by_name("good category")
38
+ assert category
39
+ assert_equal category, Subcategory.find_by_name("this is a new subcategory").category
40
+ assert_equal category, Subcategory.find_by_name("this is another subcategory").category
41
+ end
42
+
43
+
9
44
  end
10
45
 
data/test/test_helper.rb CHANGED
@@ -6,5 +6,32 @@ require "rails/test_help"
6
6
 
7
7
  Rails.backtrace_cleaner.remove_silencers!
8
8
 
9
+ # Configure capybara for integration testing
10
+ require "capybara/rails"
11
+ Capybara.default_driver = :rack_test
12
+ Capybara.default_selector = :css
13
+
14
+ # Run any available migration
15
+ ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
16
+
9
17
  # Load support files
10
18
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
19
+
20
+ # Transactional fixtures do not work with Selenium tests, because Capybara
21
+ # uses a separate server thread, which the transactions would be hidden
22
+ # from. We hence use DatabaseCleaner to truncate our test database.
23
+ DatabaseCleaner.strategy = :truncation
24
+
25
+ class ActionDispatch::IntegrationTest
26
+ # Make the Capybara DSL available in all integration tests
27
+ include Capybara::DSL
28
+
29
+ # Stop ActiveRecord from wrapping tests in transactions
30
+ self.use_transactional_fixtures = false
31
+
32
+ teardown do
33
+ DatabaseCleaner.clean # Truncate the database
34
+ Capybara.reset_sessions! # Forget the (simulated) browser state
35
+ Capybara.use_default_driver # Revert Capybara.current_driver to Capybara.default_driver
36
+ end
37
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamic_fields
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,77 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-28 00:00:00.000000000 Z
12
+ date: 2012-03-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70163475397200 !ruby/object:Gem::Requirement
16
+ requirement: &70298653308040 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 3.2.2
21
+ version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70163475397200
24
+ version_requirements: *70298653308040
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sqlite3
27
- requirement: &70163475396720 !ruby/object:Gem::Requirement
27
+ requirement: &70298653307100 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70298653307100
36
+ - !ruby/object:Gem::Dependency
37
+ name: capybara
38
+ requirement: &70298653305880 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70298653305880
47
+ - !ruby/object:Gem::Dependency
48
+ name: database_cleaner
49
+ requirement: &70298653305120 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70298653305120
58
+ - !ruby/object:Gem::Dependency
59
+ name: factory_girl_rails
60
+ requirement: &70298653304420 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70298653304420
69
+ - !ruby/object:Gem::Dependency
70
+ name: jquery-rails
71
+ requirement: &70298653301460 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70298653301460
80
+ - !ruby/object:Gem::Dependency
81
+ name: simple_form
82
+ requirement: &70298653315140 !ruby/object:Gem::Requirement
28
83
  none: false
29
84
  requirements:
30
85
  - - ! '>='
@@ -32,7 +87,7 @@ dependencies:
32
87
  version: '0'
33
88
  type: :development
34
89
  prerelease: false
35
- version_requirements: *70163475396720
90
+ version_requirements: *70298653315140
36
91
  description: Dynamically generate fields for Rails by using jQuery.
37
92
  email:
38
93
  - jiongye@gmail.com
@@ -51,9 +106,17 @@ files:
51
106
  - Rakefile
52
107
  - README.md
53
108
  - test/dummy/app/assets/javascripts/application.js
109
+ - test/dummy/app/assets/javascripts/category.js
54
110
  - test/dummy/app/assets/stylesheets/application.css
55
111
  - test/dummy/app/controllers/application_controller.rb
112
+ - test/dummy/app/controllers/categories_controller.rb
56
113
  - test/dummy/app/helpers/application_helper.rb
114
+ - test/dummy/app/models/available_language.rb
115
+ - test/dummy/app/models/category.rb
116
+ - test/dummy/app/models/subcategory.rb
117
+ - test/dummy/app/views/categories/_form.html.erb
118
+ - test/dummy/app/views/categories/edit.html.erb
119
+ - test/dummy/app/views/categories/new.html.erb
57
120
  - test/dummy/app/views/layouts/application.html.erb
58
121
  - test/dummy/config/application.rb
59
122
  - test/dummy/config/boot.rb
@@ -67,10 +130,18 @@ files:
67
130
  - test/dummy/config/initializers/mime_types.rb
68
131
  - test/dummy/config/initializers/secret_token.rb
69
132
  - test/dummy/config/initializers/session_store.rb
133
+ - test/dummy/config/initializers/simple_form.rb
70
134
  - test/dummy/config/initializers/wrap_parameters.rb
71
135
  - test/dummy/config/locales/en.yml
136
+ - test/dummy/config/locales/simple_form.en.yml
72
137
  - test/dummy/config/routes.rb
73
138
  - test/dummy/config.ru
139
+ - test/dummy/db/development.sqlite3
140
+ - test/dummy/db/migrate/20120329183323_add_test_tables.rb
141
+ - test/dummy/db/schema.rb
142
+ - test/dummy/db/test.sqlite3
143
+ - test/dummy/lib/templates/erb/scaffold/_form.html.erb
144
+ - test/dummy/log/development.log
74
145
  - test/dummy/log/test.log
75
146
  - test/dummy/public/404.html
76
147
  - test/dummy/public/422.html
@@ -79,7 +150,26 @@ files:
79
150
  - test/dummy/Rakefile
80
151
  - test/dummy/README.rdoc
81
152
  - test/dummy/script/rails
153
+ - test/dummy/tmp/cache/assets/C83/130/sprockets%2Fa08d178d4b71a990f163b46504982c28
154
+ - test/dummy/tmp/cache/assets/CB3/A30/sprockets%2F6d04c8476e080a28d55b11065d189ef7
155
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
156
+ - test/dummy/tmp/cache/assets/D11/D80/sprockets%2F5e7bc8e026400c478735f2a673f8c1cc
157
+ - test/dummy/tmp/cache/assets/D14/530/sprockets%2F6aa64648434ac72bf70c8762f30be78d
158
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
159
+ - test/dummy/tmp/cache/assets/D33/600/sprockets%2F70c187184f18b0ac1a4d4ea4be84d606
160
+ - test/dummy/tmp/cache/assets/D4B/CD0/sprockets%2F604268dd58a3c8cbed88c9d61f269e00
161
+ - test/dummy/tmp/cache/assets/D4D/1F0/sprockets%2Fe25fe62f6eac4e9ff1920398e20f7515
162
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
163
+ - test/dummy/tmp/cache/assets/D52/600/sprockets%2F574f4d5dc4fb44d4f453391f29e6ee65
164
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
165
+ - test/dummy/tmp/cache/assets/D81/A70/sprockets%2F7e6bf1374cf493fafa8c58838c4f351d
166
+ - test/dummy/tmp/cache/assets/DBC/D50/sprockets%2Fcde339a8b08aa2150fda4ff4a2175bf1
167
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
168
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
169
+ - test/dummy/tmp/capybara/capybara-20120329164214784023357.html
170
+ - test/dummy/tmp/pids/server.pid
82
171
  - test/dynamic_fields_test.rb
172
+ - test/factories.rb
83
173
  - test/integration/navigation_test.rb
84
174
  - test/test_helper.rb
85
175
  homepage: https://github.com/jiongye/dynamic_fields
@@ -96,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
96
186
  version: '0'
97
187
  segments:
98
188
  - 0
99
- hash: 2663241800502181627
189
+ hash: -604474413903914892
100
190
  required_rubygems_version: !ruby/object:Gem::Requirement
101
191
  none: false
102
192
  requirements:
@@ -105,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
195
  version: '0'
106
196
  segments:
107
197
  - 0
108
- hash: 2663241800502181627
198
+ hash: -604474413903914892
109
199
  requirements: []
110
200
  rubyforge_project:
111
201
  rubygems_version: 1.8.10
@@ -114,9 +204,17 @@ specification_version: 3
114
204
  summary: Generate dynamic fields for Rails
115
205
  test_files:
116
206
  - test/dummy/app/assets/javascripts/application.js
207
+ - test/dummy/app/assets/javascripts/category.js
117
208
  - test/dummy/app/assets/stylesheets/application.css
118
209
  - test/dummy/app/controllers/application_controller.rb
210
+ - test/dummy/app/controllers/categories_controller.rb
119
211
  - test/dummy/app/helpers/application_helper.rb
212
+ - test/dummy/app/models/available_language.rb
213
+ - test/dummy/app/models/category.rb
214
+ - test/dummy/app/models/subcategory.rb
215
+ - test/dummy/app/views/categories/_form.html.erb
216
+ - test/dummy/app/views/categories/edit.html.erb
217
+ - test/dummy/app/views/categories/new.html.erb
120
218
  - test/dummy/app/views/layouts/application.html.erb
121
219
  - test/dummy/config/application.rb
122
220
  - test/dummy/config/boot.rb
@@ -130,10 +228,18 @@ test_files:
130
228
  - test/dummy/config/initializers/mime_types.rb
131
229
  - test/dummy/config/initializers/secret_token.rb
132
230
  - test/dummy/config/initializers/session_store.rb
231
+ - test/dummy/config/initializers/simple_form.rb
133
232
  - test/dummy/config/initializers/wrap_parameters.rb
134
233
  - test/dummy/config/locales/en.yml
234
+ - test/dummy/config/locales/simple_form.en.yml
135
235
  - test/dummy/config/routes.rb
136
236
  - test/dummy/config.ru
237
+ - test/dummy/db/development.sqlite3
238
+ - test/dummy/db/migrate/20120329183323_add_test_tables.rb
239
+ - test/dummy/db/schema.rb
240
+ - test/dummy/db/test.sqlite3
241
+ - test/dummy/lib/templates/erb/scaffold/_form.html.erb
242
+ - test/dummy/log/development.log
137
243
  - test/dummy/log/test.log
138
244
  - test/dummy/public/404.html
139
245
  - test/dummy/public/422.html
@@ -142,6 +248,25 @@ test_files:
142
248
  - test/dummy/Rakefile
143
249
  - test/dummy/README.rdoc
144
250
  - test/dummy/script/rails
251
+ - test/dummy/tmp/cache/assets/C83/130/sprockets%2Fa08d178d4b71a990f163b46504982c28
252
+ - test/dummy/tmp/cache/assets/CB3/A30/sprockets%2F6d04c8476e080a28d55b11065d189ef7
253
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
254
+ - test/dummy/tmp/cache/assets/D11/D80/sprockets%2F5e7bc8e026400c478735f2a673f8c1cc
255
+ - test/dummy/tmp/cache/assets/D14/530/sprockets%2F6aa64648434ac72bf70c8762f30be78d
256
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
257
+ - test/dummy/tmp/cache/assets/D33/600/sprockets%2F70c187184f18b0ac1a4d4ea4be84d606
258
+ - test/dummy/tmp/cache/assets/D4B/CD0/sprockets%2F604268dd58a3c8cbed88c9d61f269e00
259
+ - test/dummy/tmp/cache/assets/D4D/1F0/sprockets%2Fe25fe62f6eac4e9ff1920398e20f7515
260
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
261
+ - test/dummy/tmp/cache/assets/D52/600/sprockets%2F574f4d5dc4fb44d4f453391f29e6ee65
262
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
263
+ - test/dummy/tmp/cache/assets/D81/A70/sprockets%2F7e6bf1374cf493fafa8c58838c4f351d
264
+ - test/dummy/tmp/cache/assets/DBC/D50/sprockets%2Fcde339a8b08aa2150fda4ff4a2175bf1
265
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
266
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
267
+ - test/dummy/tmp/capybara/capybara-20120329164214784023357.html
268
+ - test/dummy/tmp/pids/server.pid
145
269
  - test/dynamic_fields_test.rb
270
+ - test/factories.rb
146
271
  - test/integration/navigation_test.rb
147
272
  - test/test_helper.rb