active_scaffold 3.3.3 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +39 -0
- data/README.md +5 -3
- data/app/assets/images/active_scaffold/refresh.png +0 -0
- data/app/assets/javascripts/jquery/active_scaffold.js +182 -91
- data/app/assets/javascripts/jquery/date_picker_bridge.js.erb +14 -16
- data/app/assets/javascripts/jquery/draggable_lists.js +33 -26
- data/app/assets/javascripts/jquery/jquery.editinplace.js +3 -3
- data/app/assets/javascripts/prototype/active_scaffold.js +61 -19
- data/app/assets/stylesheets/active_scaffold_colors.css.scss +4 -0
- data/app/assets/stylesheets/active_scaffold_images.css.scss +3 -0
- data/app/assets/stylesheets/active_scaffold_layout.css +23 -2
- data/app/views/active_scaffold_overrides/_add_existing_form.html.erb +1 -3
- data/app/views/active_scaffold_overrides/_base_form.html.erb +7 -5
- data/app/views/active_scaffold_overrides/_field_search.html.erb +1 -2
- data/app/views/active_scaffold_overrides/_form.html.erb +6 -4
- data/app/views/active_scaffold_overrides/_form_association.html.erb +4 -3
- data/app/views/active_scaffold_overrides/_form_association_footer.html.erb +5 -5
- data/app/views/active_scaffold_overrides/_form_association_record.html.erb +8 -6
- data/app/views/active_scaffold_overrides/_horizontal_subform_header.html.erb +3 -2
- data/app/views/active_scaffold_overrides/_list.html.erb +8 -6
- data/app/views/active_scaffold_overrides/_list_column_headings.html.erb +1 -4
- data/app/views/active_scaffold_overrides/_list_pagination.html.erb +4 -4
- data/app/views/active_scaffold_overrides/_list_pagination_links.html.erb +1 -1
- data/app/views/active_scaffold_overrides/_list_record.html.erb +3 -3
- data/app/views/active_scaffold_overrides/_refresh_list.js.erb +8 -1
- data/app/views/active_scaffold_overrides/_search.html.erb +7 -13
- data/app/views/active_scaffold_overrides/_show_columns.html.erb +1 -1
- data/app/views/active_scaffold_overrides/on_create.js.erb +4 -4
- data/app/views/active_scaffold_overrides/render_field_inplace.html.erb +1 -1
- data/app/views/active_scaffold_overrides/row.js.erb +1 -1
- data/config/locales/de.yml +106 -95
- data/config/locales/en.yml +108 -97
- data/config/locales/es.yml +109 -98
- data/config/locales/fr.yml +108 -97
- data/config/locales/hu.yml +109 -98
- data/config/locales/ja.yml +100 -89
- data/config/locales/ru.yml +115 -104
- data/lib/active_scaffold.rb +18 -294
- data/lib/active_scaffold/actions/common_search.rb +50 -17
- data/lib/active_scaffold/actions/core.rb +93 -22
- data/lib/active_scaffold/actions/create.rb +15 -6
- data/lib/active_scaffold/actions/field_search.rb +68 -60
- data/lib/active_scaffold/actions/list.rb +49 -28
- data/lib/active_scaffold/actions/nested.rb +14 -6
- data/lib/active_scaffold/actions/search.rb +36 -35
- data/lib/active_scaffold/actions/show.rb +9 -4
- data/lib/active_scaffold/actions/subform.rb +1 -1
- data/lib/active_scaffold/actions/update.rb +22 -7
- data/lib/active_scaffold/active_record_permissions.rb +125 -118
- data/lib/active_scaffold/attribute_params.rb +84 -66
- data/lib/active_scaffold/bridges.rb +3 -3
- data/lib/active_scaffold/bridges/ancestry/ancestry_bridge.rb +10 -5
- data/lib/active_scaffold/bridges/cancan.rb +2 -1
- data/lib/active_scaffold/bridges/cancan/cancan_bridge.rb +13 -2
- data/lib/active_scaffold/bridges/carrierwave/form_ui.rb +11 -6
- data/lib/active_scaffold/bridges/chosen/helpers.rb +2 -2
- data/lib/active_scaffold/bridges/country_helper/country_helper_bridge.rb +45 -29
- data/lib/active_scaffold/bridges/date_picker/ext.rb +11 -6
- data/lib/active_scaffold/bridges/date_picker/helper.rb +5 -1
- data/lib/active_scaffold/bridges/dragonfly/form_ui.rb +10 -5
- data/lib/active_scaffold/bridges/dragonfly/list_ui.rb +6 -1
- data/lib/active_scaffold/bridges/file_column/form_ui.rb +12 -11
- data/lib/active_scaffold/bridges/paperclip/form_ui.rb +14 -6
- data/lib/active_scaffold/bridges/paperclip/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/record_select/helpers.rb +15 -12
- data/lib/active_scaffold/bridges/shared/date_bridge.rb +7 -8
- data/lib/active_scaffold/bridges/tiny_mce.rb +5 -3
- data/lib/active_scaffold/bridges/tiny_mce/helpers.rb +4 -5
- data/lib/active_scaffold/config/base.rb +4 -0
- data/lib/active_scaffold/config/core.rb +12 -5
- data/lib/active_scaffold/config/delete.rb +0 -2
- data/lib/active_scaffold/config/field_search.rb +1 -4
- data/lib/active_scaffold/config/form.rb +0 -2
- data/lib/active_scaffold/config/list.rb +31 -1
- data/lib/active_scaffold/config/search.rb +0 -3
- data/lib/active_scaffold/config/show.rb +0 -6
- data/lib/active_scaffold/config/subform.rb +1 -0
- data/lib/active_scaffold/configurable.rb +2 -2
- data/lib/active_scaffold/constraints.rb +11 -14
- data/lib/active_scaffold/core.rb +277 -0
- data/lib/active_scaffold/data_structures/action_columns.rb +18 -2
- data/lib/active_scaffold/data_structures/action_link.rb +25 -6
- data/lib/active_scaffold/data_structures/action_links.rb +9 -4
- data/lib/active_scaffold/data_structures/actions.rb +1 -1
- data/lib/active_scaffold/data_structures/column.rb +6 -6
- data/lib/active_scaffold/data_structures/columns.rb +2 -2
- data/lib/active_scaffold/data_structures/nested_info.rb +5 -1
- data/lib/active_scaffold/data_structures/sorting.rb +15 -5
- data/lib/active_scaffold/delayed_setup.rb +30 -0
- data/lib/active_scaffold/engine.rb +25 -0
- data/lib/active_scaffold/extensions/action_view_rendering.rb +1 -1
- data/lib/active_scaffold/extensions/left_outer_joins.rb +61 -21
- data/lib/active_scaffold/extensions/localize.rb +1 -1
- data/lib/active_scaffold/extensions/name_option_for_datetime.rb +13 -8
- data/lib/active_scaffold/extensions/paginator_extensions.rb +5 -1
- data/lib/active_scaffold/extensions/reverse_associations.rb +1 -0
- data/lib/active_scaffold/extensions/routing_mapper.rb +1 -1
- data/lib/active_scaffold/extensions/unsaved_record.rb +4 -6
- data/lib/active_scaffold/finder.rb +79 -27
- data/lib/active_scaffold/helpers/association_helpers.rb +48 -18
- data/lib/active_scaffold/helpers/controller_helpers.rb +19 -10
- data/lib/active_scaffold/helpers/form_column_helpers.rb +185 -87
- data/lib/active_scaffold/helpers/human_condition_helpers.rb +2 -1
- data/lib/active_scaffold/helpers/id_helpers.rb +14 -8
- data/lib/active_scaffold/helpers/list_column_helpers.rb +65 -56
- data/lib/active_scaffold/helpers/pagination_helpers.rb +5 -1
- data/lib/active_scaffold/helpers/search_column_helpers.rb +21 -18
- data/lib/active_scaffold/helpers/view_helpers.rb +102 -64
- data/lib/active_scaffold/responds_to_parent.rb +39 -64
- data/lib/active_scaffold/tableless.rb +129 -10
- data/lib/active_scaffold/version.rb +2 -2
- data/test/bridges/bridge_test.rb +1 -1
- data/test/bridges/date_picker_test.rb +2 -2
- data/test/bridges/paperclip_test.rb +10 -8
- data/test/bridges/tiny_mce_test.rb +2 -2
- data/test/company.rb +22 -10
- data/test/config/base_test.rb +1 -1
- data/test/config/core_test.rb +8 -6
- data/test/config/create_test.rb +6 -6
- data/test/config/delete_test.rb +4 -4
- data/test/config/field_search_test.rb +6 -6
- data/test/config/list_test.rb +7 -7
- data/test/config/nested_test.rb +8 -7
- data/test/config/search_test.rb +7 -7
- data/test/config/show_test.rb +5 -5
- data/test/config/subform_test.rb +1 -1
- data/test/config/update_test.rb +5 -4
- data/test/data_structures/action_columns_test.rb +15 -16
- data/test/data_structures/action_link_test.rb +10 -10
- data/test/data_structures/action_links_test.rb +6 -6
- data/test/data_structures/actions_test.rb +4 -4
- data/test/data_structures/association_column_test.rb +4 -4
- data/test/data_structures/column_test.rb +9 -9
- data/test/data_structures/columns_test.rb +7 -7
- data/test/data_structures/error_message_test.rb +2 -4
- data/test/data_structures/set_test.rb +13 -13
- data/test/data_structures/sorting_test.rb +8 -8
- data/test/data_structures/standard_column_test.rb +2 -2
- data/test/data_structures/validation_reflection_test.rb +8 -8
- data/test/data_structures/virtual_column_test.rb +5 -5
- data/test/extensions/active_record_test.rb +1 -1
- data/test/helpers/form_column_helpers_test.rb +5 -5
- data/test/helpers/list_column_helpers_test.rb +2 -1
- data/test/helpers/pagination_helpers_test.rb +1 -1
- data/test/misc/active_record_permissions_test.rb +23 -4
- data/test/misc/attribute_params_test.rb +304 -136
- data/test/misc/calculation_test.rb +55 -0
- data/test/misc/configurable_test.rb +22 -21
- data/test/misc/constraints_test.rb +10 -7
- data/test/misc/convert_numbers_format_test.rb +149 -0
- data/test/misc/finder_test.rb +17 -13
- data/test/misc/lang_test.rb +1 -1
- data/test/misc/tableless_test.rb +18 -0
- data/test/mock_app/app/controllers/addresses_controller.rb +4 -0
- data/test/mock_app/app/controllers/buildings_controller.rb +4 -0
- data/test/mock_app/app/controllers/cars_controller.rb +4 -0
- data/test/mock_app/app/controllers/contacts_controller.rb +4 -0
- data/test/mock_app/app/controllers/floors_controller.rb +6 -0
- data/test/mock_app/app/controllers/people_controller.rb +4 -0
- data/test/mock_app/app/models/address.rb +3 -0
- data/test/mock_app/app/models/building.rb +8 -0
- data/test/mock_app/app/models/car.rb +3 -0
- data/test/mock_app/app/models/contact.rb +3 -0
- data/test/mock_app/app/models/file_model.rb +19 -0
- data/test/mock_app/app/models/floor.rb +8 -0
- data/test/mock_app/app/models/person.rb +11 -0
- data/test/mock_app/config/application.rb +2 -0
- data/test/mock_app/config/environments/test.rb +1 -1
- data/test/mock_app/config/initializers/secret_token.rb +5 -1
- data/test/mock_app/config/routes.rb +1 -1
- data/test/mock_app/db/schema.rb +51 -0
- data/test/model_stub.rb +3 -3
- data/test/test_helper.rb +15 -12
- metadata +51 -50
- data/lib/active_scaffold/extensions/array.rb +0 -7
- data/lib/active_scaffold/extensions/cache_association.rb +0 -16
- data/lib/active_scaffold/extensions/usa_state.rb +0 -46
- data/lib/active_scaffold_env.rb +0 -13
- data/test/extensions/array_test.rb +0 -12
- data/test/mock_app/public/blank.html +0 -33
- data/test/mock_app/public/images/active_scaffold/DO_NOT_EDIT +0 -2
- data/test/mock_app/public/images/active_scaffold/default/add.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/arrow_down.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/arrow_up.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/close.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/cross.png +0 -0
- data/test/mock_app/public/images/active_scaffold/default/indicator-small.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/indicator.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/magnifier.png +0 -0
- data/test/mock_app/public/javascripts/active_scaffold/DO_NOT_EDIT +0 -2
- data/test/mock_app/public/javascripts/active_scaffold/default/active_scaffold.js +0 -532
- data/test/mock_app/public/javascripts/active_scaffold/default/dhtml_history.js +0 -867
- data/test/mock_app/public/javascripts/active_scaffold/default/form_enhancements.js +0 -117
- data/test/mock_app/public/javascripts/active_scaffold/default/rico_corner.js +0 -370
- data/test/mock_app/public/stylesheets/active_scaffold/DO_NOT_EDIT +0 -2
- data/test/mock_app/public/stylesheets/active_scaffold/default/stylesheet-ie.css +0 -35
- data/test/mock_app/public/stylesheets/active_scaffold/default/stylesheet.css +0 -848
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class ActionLinksTest < Test
|
3
|
+
class ActionLinksTest < MiniTest::Test
|
4
4
|
def setup
|
5
5
|
@links = ActiveScaffold::DataStructures::ActionLinks.new
|
6
6
|
end
|
@@ -38,15 +38,15 @@ class ActionLinksTest < Test::Unit::TestCase
|
|
38
38
|
def test_empty
|
39
39
|
assert @links.empty?
|
40
40
|
@links.add 'a'
|
41
|
-
|
41
|
+
refute @links.empty?
|
42
42
|
end
|
43
43
|
|
44
44
|
def test_cloning
|
45
45
|
@links.add 'foo/bar'
|
46
46
|
@links_copy = @links.clone
|
47
47
|
|
48
|
-
|
49
|
-
|
48
|
+
refute @links.equal?(@links_copy)
|
49
|
+
refute @links['foo/bar'].equal?(@links_copy['foo/bar'])
|
50
50
|
end
|
51
51
|
|
52
52
|
def test_each
|
@@ -69,10 +69,10 @@ class ActionLinksTest < Test::Unit::TestCase
|
|
69
69
|
assert @links['foo'].nil?
|
70
70
|
begin
|
71
71
|
@links.delete :foo
|
72
|
-
|
72
|
+
@links.delete 'foo'
|
73
73
|
rescue
|
74
74
|
assert false, "deleting from action links when item doesn't exist should not throw an error"
|
75
75
|
end
|
76
|
-
|
76
|
+
refute @links['bar'].nil?
|
77
77
|
end
|
78
78
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class ActionsTest < Test
|
3
|
+
class ActionsTest < MiniTest::Test
|
4
4
|
def setup
|
5
5
|
@actions = ActiveScaffold::DataStructures::Actions.new(:a, 'b')
|
6
6
|
end
|
@@ -8,17 +8,17 @@ class ActionsTest < Test::Unit::TestCase
|
|
8
8
|
def test_initialization
|
9
9
|
assert @actions.include?('a')
|
10
10
|
assert @actions.include?(:b)
|
11
|
-
|
11
|
+
refute @actions.include?(:c)
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_exclude
|
15
15
|
assert @actions.include?('b')
|
16
16
|
@actions.exclude :b
|
17
|
-
|
17
|
+
refute @actions.include?(:b)
|
18
18
|
end
|
19
19
|
|
20
20
|
def test_add
|
21
|
-
|
21
|
+
refute @actions.include?(:c)
|
22
22
|
@actions.add 'c'
|
23
23
|
assert @actions.include?('c')
|
24
24
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
require 'model_stub'
|
3
3
|
|
4
|
-
class AssociationColumnTest < Test
|
4
|
+
class AssociationColumnTest < MiniTest::Test
|
5
5
|
def setup
|
6
6
|
@association_column = ActiveScaffold::DataStructures::Column.new('other_model', ModelStub)
|
7
7
|
end
|
8
8
|
|
9
9
|
def test_virtuality
|
10
10
|
assert @association_column.association
|
11
|
-
|
11
|
+
refute @association_column.virtual?
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_sorting
|
@@ -32,10 +32,10 @@ class AssociationColumnTest < Test::Unit::TestCase
|
|
32
32
|
|
33
33
|
def test_plurality
|
34
34
|
assert @association_column.singular_association?
|
35
|
-
|
35
|
+
refute @association_column.plural_association?
|
36
36
|
|
37
37
|
plural_association_column = ActiveScaffold::DataStructures::Column.new('other_models', ModelStub)
|
38
38
|
assert plural_association_column.plural_association?
|
39
|
-
|
39
|
+
refute plural_association_column.singular_association?
|
40
40
|
end
|
41
41
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class ColumnTest < Test
|
3
|
+
class ColumnTest < MiniTest::Test
|
4
4
|
def setup
|
5
5
|
@column = ActiveScaffold::DataStructures::Column.new(:a, ModelStub)
|
6
6
|
@association_col = ActiveScaffold::DataStructures::Column.new(:b, ModelStub)
|
@@ -33,12 +33,12 @@ class ColumnTest < Test::Unit::TestCase
|
|
33
33
|
assert_equal 'style_me', @column.css_class
|
34
34
|
|
35
35
|
# required
|
36
|
-
|
36
|
+
refute @column.required?, 'default is false'
|
37
37
|
@column.required = true
|
38
38
|
assert @column.required?, 'can be changed'
|
39
39
|
|
40
40
|
# calculation
|
41
|
-
|
41
|
+
refute @column.calculation?, 'default is nil'
|
42
42
|
@column.calculate = :sum
|
43
43
|
assert @column.calculation?, 'can be changed'
|
44
44
|
end
|
@@ -107,14 +107,14 @@ class ColumnTest < Test::Unit::TestCase
|
|
107
107
|
|
108
108
|
def test_searchable
|
109
109
|
@column.search_sql = nil
|
110
|
-
|
110
|
+
refute @column.searchable?
|
111
111
|
@column.search_sql = true
|
112
112
|
assert @column.searchable?
|
113
113
|
end
|
114
114
|
|
115
115
|
def test_sortable
|
116
116
|
@column.sort = nil
|
117
|
-
|
117
|
+
refute @column.sortable?
|
118
118
|
@column.sort = true
|
119
119
|
assert @column.sortable?
|
120
120
|
end
|
@@ -143,10 +143,10 @@ class ColumnTest < Test::Unit::TestCase
|
|
143
143
|
end
|
144
144
|
|
145
145
|
def test_custom_sort__should_assert_keys
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
146
|
+
assert_raises(ArgumentError) { @column.sort_by :proc => "invalid config" }
|
147
|
+
assert_raises(ArgumentError) { @column.sort={:proc => "invalid config" } }
|
148
|
+
assert_equal({:method => "method"}, @column.sort_by(:method => "method"))
|
149
|
+
assert_equal({:sql => "method"}, @column.sort_by(:sql => "method"))
|
150
150
|
end
|
151
151
|
|
152
152
|
def test_config_block
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class ColumnsTest < Test
|
3
|
+
class ColumnsTest < MiniTest::Test
|
4
4
|
def setup
|
5
5
|
@columns = ActiveScaffold::DataStructures::Columns.new(ModelStub, :a, :b)
|
6
6
|
end
|
@@ -10,21 +10,21 @@ class ColumnsTest < Test::Unit::TestCase
|
|
10
10
|
|
11
11
|
assert @columns.include?('a'), 'checking via string'
|
12
12
|
assert @columns.include?(:b), 'checking via symbol'
|
13
|
-
|
13
|
+
refute @columns.include?(:c)
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_add
|
17
|
-
|
17
|
+
refute @columns.include?(:c)
|
18
18
|
@columns.add 'c'
|
19
19
|
assert @columns.include?('c')
|
20
20
|
|
21
21
|
# test the alias
|
22
|
-
|
22
|
+
refute @columns.include?(:d)
|
23
23
|
@columns << :d
|
24
24
|
assert @columns.include?(:d)
|
25
25
|
|
26
26
|
# try adding an array of columns
|
27
|
-
|
27
|
+
refute @columns.include?(:f)
|
28
28
|
@columns.add [:f, :g]
|
29
29
|
assert @columns.include?(:f)
|
30
30
|
assert @columns.include?(:g)
|
@@ -52,8 +52,8 @@ class ColumnsTest < Test::Unit::TestCase
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def test_block_config
|
55
|
-
|
56
|
-
|
55
|
+
refute @columns.include?(:d)
|
56
|
+
refute @columns.include?(:c)
|
57
57
|
|
58
58
|
@columns.configure do |config|
|
59
59
|
# test that we can use the config object
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class ErrorMessageTest < Test
|
3
|
+
class ErrorMessageTest < MiniTest::Test
|
4
4
|
def setup
|
5
5
|
@error = ActiveScaffold::DataStructures::ErrorMessage.new 'foo'
|
6
6
|
end
|
@@ -19,9 +19,7 @@ class ErrorMessageTest < Test::Unit::TestCase
|
|
19
19
|
|
20
20
|
def test_yaml
|
21
21
|
yml = nil
|
22
|
-
|
23
|
-
yml = YAML.load(@error.to_yaml)
|
24
|
-
end
|
22
|
+
yml = YAML.load(@error.to_yaml)
|
25
23
|
assert yml.has_key?(:error)
|
26
24
|
assert_equal 'foo', yml[:error]
|
27
25
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class SetTest < Test
|
3
|
+
class SetTest < MiniTest::Test
|
4
4
|
def setup
|
5
5
|
@items = ActiveScaffold::DataStructures::Set.new(:a, :b)
|
6
6
|
end
|
@@ -8,53 +8,53 @@ class SetTest < Test::Unit::TestCase
|
|
8
8
|
def test_initialization
|
9
9
|
assert @items.include?(:a)
|
10
10
|
assert @items.include?(:b)
|
11
|
-
|
11
|
+
refute @items.include?(:c)
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_exclude
|
15
15
|
# exclude with a symbol
|
16
16
|
assert @items.include?(:b)
|
17
17
|
@items.exclude :b
|
18
|
-
|
18
|
+
refute @items.include?(:b)
|
19
19
|
|
20
20
|
# exclude with a string
|
21
21
|
assert @items.include?(:a)
|
22
22
|
@items.exclude 'a'
|
23
|
-
|
23
|
+
refute @items.include?(:a)
|
24
24
|
end
|
25
25
|
|
26
26
|
def test_exclude_array
|
27
27
|
# exclude with a symbol
|
28
28
|
assert @items.include?(:b)
|
29
29
|
@items.exclude [:a, :b]
|
30
|
-
|
31
|
-
|
30
|
+
refute @items.include?(:b)
|
31
|
+
refute @items.include?(:a)
|
32
32
|
end
|
33
33
|
|
34
34
|
def test_remove
|
35
35
|
assert @items.include?(:a)
|
36
36
|
@items.remove 'a'
|
37
|
-
|
37
|
+
refute @items.include?(:a)
|
38
38
|
end
|
39
39
|
|
40
40
|
def test_add
|
41
41
|
# try adding a simple column using a string
|
42
|
-
|
42
|
+
refute @items.include?(:c)
|
43
43
|
@items.add 'c'
|
44
44
|
assert @items.include?(:c)
|
45
45
|
|
46
46
|
# try adding a simple column using a symbol
|
47
|
-
|
47
|
+
refute @items.include?(:d)
|
48
48
|
@items.add :d
|
49
49
|
assert @items.include?(:d)
|
50
50
|
|
51
51
|
# test that << also adds
|
52
|
-
|
52
|
+
refute @items.include?(:e)
|
53
53
|
@items << "e"
|
54
54
|
assert @items.include?(:e)
|
55
55
|
|
56
56
|
# try adding an array of columns
|
57
|
-
|
57
|
+
refute @items.include?(:f)
|
58
58
|
@items.add [:f, :g]
|
59
59
|
assert @items.include?(:f)
|
60
60
|
assert @items.include?(:g)
|
@@ -74,12 +74,12 @@ class SetTest < Test::Unit::TestCase
|
|
74
74
|
end
|
75
75
|
|
76
76
|
assert @items.include?(:c)
|
77
|
-
|
77
|
+
refute @items.include?(:b)
|
78
78
|
end
|
79
79
|
|
80
80
|
def test_include
|
81
81
|
assert @items.include?(:a)
|
82
82
|
assert @items.include?(:b)
|
83
|
-
|
83
|
+
refute @items.include?(:d)
|
84
84
|
end
|
85
85
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class SortingTest < Test
|
3
|
+
class SortingTest < MiniTest::Test
|
4
4
|
def setup
|
5
|
-
@columns = ActiveScaffold::DataStructures::Columns.new(ModelStub, :a, :b, :c, :d)
|
5
|
+
@columns = ActiveScaffold::DataStructures::Columns.new(ModelStub, :a, :b, :c, :d, :id)
|
6
6
|
@sorting = ActiveScaffold::DataStructures::Sorting.new(@columns)
|
7
7
|
end
|
8
8
|
|
@@ -53,7 +53,7 @@ class SortingTest < Test::Unit::TestCase
|
|
53
53
|
|
54
54
|
@sorting.set :b, 'DESC'
|
55
55
|
assert @sorting.instance_variable_get('@clauses').size == 1
|
56
|
-
|
56
|
+
refute @sorting.sorts_on?(:a)
|
57
57
|
assert @sorting.sorts_on?(:b)
|
58
58
|
assert_equal 'DESC', @sorting.direction_of(:b)
|
59
59
|
end
|
@@ -64,7 +64,7 @@ class SortingTest < Test::Unit::TestCase
|
|
64
64
|
|
65
65
|
assert @sorting.sorts_on?(:a)
|
66
66
|
assert @sorting.sorts_on?(:b)
|
67
|
-
|
67
|
+
refute @sorting.sorts_on?(:c)
|
68
68
|
end
|
69
69
|
|
70
70
|
def test_direction_of
|
@@ -83,14 +83,14 @@ class SortingTest < Test::Unit::TestCase
|
|
83
83
|
assert @sorting.sorts_by_method?
|
84
84
|
|
85
85
|
#test mixed sql/method sorting: raise error
|
86
|
-
|
86
|
+
assert_raises ArgumentError do
|
87
87
|
@sorting.add :b
|
88
88
|
end
|
89
89
|
|
90
90
|
#test pure sql sorting: false
|
91
91
|
@sorting.clear
|
92
92
|
@sorting.add :b
|
93
|
-
|
93
|
+
refute @sorting.sorts_by_method?
|
94
94
|
end
|
95
95
|
|
96
96
|
def test_build_order_clause
|
@@ -104,7 +104,7 @@ class SortingTest < Test::Unit::TestCase
|
|
104
104
|
|
105
105
|
def test_set_default_sorting_with_simple_default_scope
|
106
106
|
model_stub_with_default_scope = ModelStub.clone
|
107
|
-
model_stub_with_default_scope.class_eval { default_scope
|
107
|
+
model_stub_with_default_scope.class_eval { default_scope lambda { order('a') } }
|
108
108
|
@sorting.set_default_sorting model_stub_with_default_scope
|
109
109
|
|
110
110
|
assert @sorting.sorts_on?(:a)
|
@@ -114,7 +114,7 @@ class SortingTest < Test::Unit::TestCase
|
|
114
114
|
|
115
115
|
def test_set_default_sorting_with_complex_default_scope
|
116
116
|
model_stub_with_default_scope = ModelStub.clone
|
117
|
-
model_stub_with_default_scope.class_eval { default_scope
|
117
|
+
model_stub_with_default_scope.class_eval { default_scope lambda { order('a DESC, players.last_name ASC') } }
|
118
118
|
@sorting.set_default_sorting model_stub_with_default_scope
|
119
119
|
|
120
120
|
assert @sorting.sorts_on?(:a)
|
@@ -1,13 +1,13 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class StandardColumnTest < Test
|
3
|
+
class StandardColumnTest < MiniTest::Test
|
4
4
|
def setup
|
5
5
|
@standard_column = ActiveScaffold::DataStructures::Column.new(ModelStub.columns.first.name, ModelStub)
|
6
6
|
end
|
7
7
|
|
8
8
|
def test_virtuality
|
9
9
|
assert @standard_column.column
|
10
|
-
|
10
|
+
refute @standard_column.virtual?
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_sorting
|
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class ValidationReflectionTest < Test
|
3
|
+
class ValidationReflectionTest < MiniTest::Test
|
4
4
|
def test_set_required_for_validates_presence_of
|
5
5
|
column = ActiveScaffold::DataStructures::Column.new(:name, Company)
|
6
|
-
|
6
|
+
refute column.required?
|
7
7
|
Company.expects(:validators_on).with(:name).returns([ActiveModel::Validations::PresenceValidator.new(:attributes => :name)])
|
8
8
|
column = ActiveScaffold::DataStructures::Column.new(:name, Company)
|
9
9
|
assert column.required?
|
@@ -11,7 +11,7 @@ class ValidationReflectionTest < Test::Unit::TestCase
|
|
11
11
|
|
12
12
|
def test_set_required_for_validates_inclusion_of
|
13
13
|
column = ActiveScaffold::DataStructures::Column.new(:name, Company)
|
14
|
-
|
14
|
+
refute column.required?
|
15
15
|
Company.expects(:validators_on).with(:name).returns([ActiveModel::Validations::InclusionValidator.new(:attributes => :name, :in => [])])
|
16
16
|
column = ActiveScaffold::DataStructures::Column.new(:name, Company)
|
17
17
|
assert column.required?
|
@@ -20,24 +20,24 @@ class ValidationReflectionTest < Test::Unit::TestCase
|
|
20
20
|
def test_not_set_required_for_validates_inclusion_of_and_allow_nil
|
21
21
|
Company.expects(:validators_on).with(:name).returns([ActiveModel::Validations::InclusionValidator.new(:attributes => :name, :in => [], :allow_nil => true)])
|
22
22
|
column = ActiveScaffold::DataStructures::Column.new(:name, Company)
|
23
|
-
|
23
|
+
refute column.required?
|
24
24
|
end
|
25
25
|
|
26
26
|
def test_not_set_required_for_validates_inclusion_of_and_allow_blank
|
27
27
|
Company.expects(:validators_on).with(:name).returns([ActiveModel::Validations::InclusionValidator.new(:attributes => :name, :in => [], :allow_blank => true)])
|
28
28
|
column = ActiveScaffold::DataStructures::Column.new(:name, Company)
|
29
|
-
|
29
|
+
refute column.required?
|
30
30
|
end
|
31
31
|
|
32
32
|
def test_not_set_required_for_no_validation
|
33
33
|
Company.expects(:validators_on).with(:name).returns([])
|
34
34
|
column = ActiveScaffold::DataStructures::Column.new(:name, Company)
|
35
|
-
|
35
|
+
refute column.required?
|
36
36
|
end
|
37
37
|
|
38
38
|
def test_set_required_for_validates_presence_of_in_association
|
39
39
|
column = ActiveScaffold::DataStructures::Column.new(:main_company, Company)
|
40
|
-
|
40
|
+
refute column.required?
|
41
41
|
Company.expects(:validators_on).with(:main_company).returns([ActiveModel::Validations::PresenceValidator.new(:attributes => :main_company)])
|
42
42
|
column = ActiveScaffold::DataStructures::Column.new(:main_company, Company)
|
43
43
|
assert column.required?
|
@@ -46,6 +46,6 @@ class ValidationReflectionTest < Test::Unit::TestCase
|
|
46
46
|
def test_not_set_required_for_no_validation_in_association_neither_foreign_key
|
47
47
|
Company.expects(:validators_on).returns([])
|
48
48
|
column = ActiveScaffold::DataStructures::Column.new(:main_company, Company)
|
49
|
-
|
49
|
+
refute column.required?
|
50
50
|
end
|
51
51
|
end
|
@@ -1,23 +1,23 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class VirtualColumnTest < Test
|
3
|
+
class VirtualColumnTest < MiniTest::Test
|
4
4
|
def setup
|
5
5
|
@virtual_column = ActiveScaffold::DataStructures::Column.new(:fake, ModelStub)
|
6
6
|
end
|
7
7
|
|
8
8
|
def test_virtuality
|
9
|
-
|
10
|
-
|
9
|
+
refute @virtual_column.column
|
10
|
+
refute @virtual_column.association
|
11
11
|
assert @virtual_column.virtual?
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_sorting
|
15
15
|
# right now, there's no intelligent sorting on virtual columns
|
16
|
-
|
16
|
+
refute @virtual_column.sortable?
|
17
17
|
end
|
18
18
|
|
19
19
|
def test_searching
|
20
20
|
# right now, there's no intelligent searching on virtual columns
|
21
|
-
|
21
|
+
refute @virtual_column.searchable?
|
22
22
|
end
|
23
23
|
end
|