netzke-basepack 0.7.7 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +15 -10
- data/{CHANGELOG.rdoc → CHANGELOG.md} +146 -110
- data/LICENSE +7 -1
- data/README.md +47 -56
- data/Rakefile +5 -5
- data/config/before-travis.sh +10 -0
- data/javascripts/basepack.js +0 -130
- data/javascripts/netzkeremotecombo.js +59 -0
- data/lib/netzke/basepack.rb +9 -14
- data/lib/netzke/basepack/accordion.rb +45 -0
- data/lib/netzke/basepack/active_record.rb +12 -0
- data/lib/netzke/basepack/active_record/relation_extensions.rb +27 -0
- data/lib/netzke/basepack/columns.rb +309 -0
- data/lib/netzke/basepack/data_accessor.rb +22 -12
- data/lib/netzke/basepack/data_adapters/abstract_adapter.rb +75 -11
- data/lib/netzke/basepack/data_adapters/active_record_adapter.rb +154 -49
- data/lib/netzke/basepack/fields.rb +162 -0
- data/lib/netzke/basepack/form.rb +136 -0
- data/lib/netzke/basepack/{form_panel → form}/javascripts/comma_list_cbg.js +0 -1
- data/lib/netzke/basepack/{form_panel/javascripts/form_panel.js → form/javascripts/form.js} +20 -26
- data/lib/netzke/basepack/{form_panel → form}/javascripts/n_radio_group.js +0 -1
- data/lib/netzke/basepack/{form_panel → form}/javascripts/readonly_mode.js +0 -0
- data/lib/netzke/basepack/form/services.rb +115 -0
- data/lib/netzke/basepack/{form_panel → form}/stylesheets/readonly_mode.css +0 -0
- data/lib/netzke/basepack/grid.rb +355 -0
- data/lib/netzke/basepack/{grid_panel → grid}/javascripts/advanced_search.js +1 -1
- data/lib/netzke/basepack/{grid_panel → grid}/javascripts/check_column_fix.js +0 -0
- data/lib/netzke/basepack/{grid_panel → grid}/javascripts/edit_in_form.js +3 -3
- data/lib/netzke/basepack/{grid_panel → grid}/javascripts/event_handling.js +5 -2
- data/lib/netzke/basepack/{grid_panel/javascripts/grid_panel.js → grid/javascripts/grid.js} +120 -132
- data/lib/netzke/basepack/{grid_panel → grid}/javascripts/misc.js +0 -0
- data/lib/netzke/basepack/grid/services.rb +216 -0
- data/lib/netzke/basepack/item_persistence.rb +44 -0
- data/lib/netzke/basepack/item_persistence/events_plugin.rb +47 -0
- data/lib/netzke/basepack/{paging_form_panel.rb → paging_form.rb} +24 -30
- data/lib/netzke/basepack/{paging_form_panel/javascripts/paging_form_panel.js → paging_form/javascripts/paging_form.js} +2 -4
- data/lib/netzke/basepack/query_builder.rb +44 -73
- data/lib/netzke/basepack/query_builder/javascripts/query_builder.js +16 -2
- data/lib/netzke/basepack/record_form_window.rb +67 -0
- data/lib/netzke/basepack/search_panel.rb +22 -24
- data/lib/netzke/basepack/search_panel/javascripts/condition_field.js +2 -2
- data/lib/netzke/basepack/search_window.rb +47 -53
- data/lib/netzke/basepack/simple_app.rb +10 -13
- data/lib/netzke/basepack/simple_app/javascripts/simple_app.js +2 -8
- data/lib/netzke/basepack/tab_panel.rb +5 -4
- data/lib/netzke/basepack/tab_panel/javascripts/tab_panel.js +5 -5
- data/lib/netzke/basepack/version.rb +2 -2
- data/lib/netzke/basepack/viewport.rb +16 -0
- data/lib/netzke/basepack/window.rb +27 -18
- data/lib/netzke/basepack/window/javascripts/window.js +7 -1
- data/lib/netzke/basepack/wrap_lazy_loaded.rb +18 -18
- data/locales/en.yml +40 -24
- data/netzke-basepack.gemspec +51 -82
- data/stylesheets/basepack.css +0 -41
- data/test/basepack_test_app/Gemfile +9 -46
- data/test/basepack_test_app/Gemfile.lock +61 -96
- data/test/basepack_test_app/app/components/author_form.rb +8 -5
- data/test/basepack_test_app/app/components/author_grid.rb +2 -2
- data/test/basepack_test_app/app/components/book_form.rb +34 -31
- data/test/basepack_test_app/app/components/book_form_with_defaults.rb +6 -7
- data/test/basepack_test_app/app/components/book_form_with_file_upload.rb +10 -0
- data/test/basepack_test_app/app/components/book_form_with_nested_attributes.rb +5 -6
- data/test/basepack_test_app/app/components/book_grid.rb +19 -8
- data/test/basepack_test_app/app/components/book_grid_filtering.rb +4 -7
- data/test/basepack_test_app/app/components/book_grid_loader.rb +28 -15
- data/test/basepack_test_app/app/components/book_grid_with_custom_columns.rb +45 -21
- data/test/basepack_test_app/app/components/book_grid_with_default_values.rb +26 -8
- data/test/basepack_test_app/app/components/book_grid_with_excluded_columns.rb +11 -0
- data/test/basepack_test_app/app/components/book_grid_with_extra_feedback.rb +2 -2
- data/test/basepack_test_app/app/components/book_grid_with_extra_filters.rb +7 -6
- data/test/basepack_test_app/app/components/book_grid_with_mass_assignment_security.rb +9 -0
- data/test/basepack_test_app/app/components/book_grid_with_nested_attributes.rb +9 -9
- data/test/basepack_test_app/app/components/book_grid_with_overridden_columns.rb +5 -3
- data/test/basepack_test_app/app/components/book_grid_with_paging.rb +6 -8
- data/test/basepack_test_app/app/components/book_grid_with_persistence.rb +6 -4
- data/test/basepack_test_app/app/components/book_grid_with_scope.rb +6 -0
- data/test/basepack_test_app/app/components/book_grid_with_scoped_authors.rb +10 -7
- data/test/basepack_test_app/app/components/book_grid_with_virtual_attributes.rb +21 -13
- data/test/basepack_test_app/app/components/book_paging_form.rb +21 -0
- data/test/basepack_test_app/app/components/book_query_builder.rb +7 -6
- data/test/basepack_test_app/app/components/book_with_custom_primary_key_grid.rb +6 -7
- data/test/basepack_test_app/app/components/books_bound_to_author.rb +9 -7
- data/test/basepack_test_app/app/components/border_layout_panel_with_persistence.rb +12 -0
- data/test/basepack_test_app/app/components/double_book_grid.rb +19 -14
- data/test/basepack_test_app/app/components/form_without_model.rb +15 -16
- data/test/basepack_test_app/app/components/grid_with_initial_sorting.rb +7 -0
- data/test/basepack_test_app/app/components/grid_with_inline_data.rb +7 -0
- data/test/basepack_test_app/app/components/paging_form_with_search.rb +2 -2
- data/test/basepack_test_app/app/components/panel_with_persistent_regions.rb +35 -0
- data/test/basepack_test_app/app/components/query_builder.rb +7 -0
- data/test/basepack_test_app/app/components/simple_panel.rb +16 -11
- data/test/basepack_test_app/app/components/simple_window.rb +7 -6
- data/test/basepack_test_app/app/components/some_accordion.rb +18 -0
- data/test/basepack_test_app/app/components/some_auth_app.rb +5 -5
- data/test/basepack_test_app/app/components/some_border_layout.rb +20 -20
- data/test/basepack_test_app/app/components/some_search_panel.rb +6 -0
- data/test/basepack_test_app/app/components/some_simple_app.rb +30 -16
- data/test/basepack_test_app/app/components/some_tab_panel.rb +18 -15
- data/test/basepack_test_app/app/components/user_form.rb +18 -16
- data/test/basepack_test_app/app/components/user_form_with_default_fields.rb +5 -6
- data/test/basepack_test_app/app/components/user_grid.rb +11 -6
- data/test/basepack_test_app/app/components/user_grid_with_customized_form_fields.rb +5 -3
- data/test/basepack_test_app/app/components/window_component_loader.rb +25 -21
- data/test/basepack_test_app/app/models/address.rb +0 -26
- data/test/basepack_test_app/app/models/author.rb +0 -31
- data/test/basepack_test_app/app/models/book.rb +1 -42
- data/test/basepack_test_app/app/models/book_with_custom_primary_key.rb +1 -23
- data/test/basepack_test_app/app/models/role.rb +0 -21
- data/test/basepack_test_app/app/models/user.rb +0 -24
- data/test/basepack_test_app/app/views/layouts/components.html.erb +1 -1
- data/test/basepack_test_app/config/application.rb +1 -1
- data/test/basepack_test_app/config/database.yml.travis +2 -6
- data/test/basepack_test_app/config/initializers/netzke.rb +1 -6
- data/test/basepack_test_app/db/schema.rb +14 -14
- data/test/basepack_test_app/features/accordion_panel.feature +2 -2
- data/test/basepack_test_app/features/form_panel.feature +7 -7
- data/test/basepack_test_app/features/grid_panel.feature +93 -39
- data/test/basepack_test_app/features/grid_panel_with_custom_primary_key.feature +2 -1
- data/test/basepack_test_app/features/grid_sorting.feature +30 -6
- data/test/basepack_test_app/features/paging_form_panel.feature +7 -7
- data/test/basepack_test_app/features/persistent_regions.feature +30 -0
- data/test/basepack_test_app/features/search_in_grid.feature +5 -5
- data/test/basepack_test_app/features/simple_app.feature +6 -7
- data/test/basepack_test_app/features/step_definitions/form_panel_steps.rb +1 -1
- data/test/basepack_test_app/features/step_definitions/generic_steps.rb +109 -4
- data/test/basepack_test_app/features/step_definitions/grid_panel_steps.rb +8 -10
- data/test/basepack_test_app/features/step_definitions/window_steps.rb +27 -0
- data/test/basepack_test_app/features/tab_panel.feature +1 -1
- data/test/basepack_test_app/features/window.feature +17 -0
- data/test/unit/accordion_panel_test.rb +2 -2
- data/test/unit/grid_panel_test.rb +4 -4
- metadata +57 -83
- data/TODO.rdoc +0 -8
- data/lib/generators/netzke/basepack_generator.rb +0 -10
- data/lib/generators/netzke/templates/assets/ts-checkbox.gif +0 -0
- data/lib/generators/netzke/templates/create_netzke_field_lists.rb +0 -18
- data/lib/netzke/active_record.rb +0 -20
- data/lib/netzke/active_record/attributes.rb +0 -259
- data/lib/netzke/active_record/combobox_options.rb +0 -16
- data/lib/netzke/active_record/relation_extensions.rb +0 -37
- data/lib/netzke/basepack/accordion_panel.rb +0 -39
- data/lib/netzke/basepack/action_column.rb +0 -68
- data/lib/netzke/basepack/action_column/javascripts/action_column.js +0 -61
- data/lib/netzke/basepack/auth_app.rb +0 -159
- data/lib/netzke/basepack/basic_app.rb +0 -7
- data/lib/netzke/basepack/border_layout_panel.rb +0 -53
- data/lib/netzke/basepack/border_layout_panel/javascripts/border_layout_panel.js +0 -40
- data/lib/netzke/basepack/data_adapters/data_mapper_adapter.rb +0 -264
- data/lib/netzke/basepack/data_adapters/sequel_adapter.rb +0 -260
- data/lib/netzke/basepack/form_panel.rb +0 -144
- data/lib/netzke/basepack/form_panel/fields.rb +0 -208
- data/lib/netzke/basepack/form_panel/javascripts/misc.js +0 -4
- data/lib/netzke/basepack/form_panel/services.rb +0 -142
- data/lib/netzke/basepack/grid_panel.rb +0 -441
- data/lib/netzke/basepack/grid_panel/columns.rb +0 -400
- data/lib/netzke/basepack/grid_panel/javascripts/rows-dd.js +0 -281
- data/lib/netzke/basepack/grid_panel/record_form_window.rb +0 -41
- data/lib/netzke/basepack/grid_panel/services.rb +0 -235
- data/lib/netzke/basepack/panel.rb +0 -11
- data/lib/netzke/basepack/wrapper.rb +0 -28
- data/lib/netzke/data_mapper.rb +0 -18
- data/lib/netzke/data_mapper/attributes.rb +0 -273
- data/lib/netzke/data_mapper/combobox_options.rb +0 -11
- data/lib/netzke/data_mapper/relation_extensions.rb +0 -38
- data/lib/netzke/sequel.rb +0 -18
- data/lib/netzke/sequel/attributes.rb +0 -274
- data/lib/netzke/sequel/combobox_options.rb +0 -10
- data/lib/netzke/sequel/relation_extensions.rb +0 -40
- data/locales/zh-cn.yml +0 -79
- data/test/basepack_test_app/app/components/book_form_with_custom_fields.rb +0 -21
- data/test/basepack_test_app/app/components/book_grid_with_column_actions.rb +0 -15
- data/test/basepack_test_app/app/components/book_grid_with_defaults.rb +0 -6
- data/test/basepack_test_app/app/components/book_paging_form_panel.rb +0 -22
- data/test/basepack_test_app/app/components/generic_user_form.rb +0 -12
- data/test/basepack_test_app/app/components/simple_accordion.rb +0 -11
- data/test/basepack_test_app/app/components/simple_tab_panel.rb +0 -11
- data/test/basepack_test_app/app/components/simple_wrapper.rb +0 -7
- data/test/basepack_test_app/app/components/some_accordion_panel.rb +0 -22
- data/test/basepack_test_app/app/presenters/forms/generic_user.rb +0 -6
- data/test/basepack_test_app/app/views/components/loadable_window.html.erb +0 -9
- data/test/basepack_test_app/app/views/components/simple_panel.html.erb +0 -1
- data/test/basepack_test_app/features/components_in_view.feature +0 -11
- data/test/basepack_test_app/features/simple_panel.feature +0 -11
- data/test/basepack_test_app/features/validations_in_grid.feature +0 -13
- data/test/basepack_test_app/features/virtual_attributes.feature +0 -16
- data/test/basepack_test_app/spec/components/form_panel_spec.rb +0 -53
- data/test/basepack_test_app/spec/components/grid_panel_spec.rb +0 -10
- data/test/basepack_test_app/spec/data_adapter/adapter_spec.rb +0 -68
- data/test/basepack_test_app/spec/data_adapter/attributes_spec.rb +0 -56
- data/test/basepack_test_app/spec/data_adapter/relation_extensions_spec.rb +0 -125
- data/test/basepack_test_app/spec/factories.rb +0 -28
- data/test/basepack_test_app/spec/spec_helper.rb +0 -39
@@ -10,7 +10,7 @@ Scenario: BookGrid should correctly display data
|
|
10
10
|
|
11
11
|
When I go to the BookGrid test page
|
12
12
|
Then I should see "Nabokov, Vladimir"
|
13
|
-
And I should see "
|
13
|
+
And I should see "12/13/2011 11:12:13"
|
14
14
|
And I should see "01/30/2005"
|
15
15
|
|
16
16
|
@javascript
|
@@ -23,17 +23,19 @@ Scenario: Adding a record via "Add in form"
|
|
23
23
|
And I press "OK"
|
24
24
|
Then I should see "Herman"
|
25
25
|
And I should see "Hesse"
|
26
|
+
And a user should exist with first_name: "Herman", last_name: "Hesse"
|
26
27
|
|
27
28
|
@javascript
|
28
29
|
Scenario: Updating a record via "Edit in form"
|
29
30
|
Given a user exists with first_name: "Carlos", last_name: "Castaneda"
|
30
31
|
When I go to the UserGrid test page
|
32
|
+
And I wait for response from server
|
31
33
|
And I select first row in the grid
|
32
34
|
And I press "Edit in form"
|
33
35
|
And I fill in "First name:" with "Maxim"
|
34
36
|
And I fill in "Last name:" with "Osminogov"
|
35
37
|
And I press "OK"
|
36
|
-
And I wait for
|
38
|
+
And I wait for response from server
|
37
39
|
Then I should see "Maxim"
|
38
40
|
And I should see "Osminogov"
|
39
41
|
And a user should not exist with first_name: "Carlos"
|
@@ -41,30 +43,32 @@ Scenario: Updating a record via "Edit in form"
|
|
41
43
|
@javascript
|
42
44
|
Scenario: Deleting a record
|
43
45
|
Given a user exists with first_name: "Anton", last_name: "Chekhov"
|
44
|
-
And a user exists with first_name: "Maxim", last_name: "Osminogov"
|
45
46
|
When I go to the UserGrid test page
|
46
|
-
And I
|
47
|
-
And I
|
48
|
-
|
49
|
-
|
50
|
-
|
47
|
+
And I wait for response from server
|
48
|
+
And I select first row in the grid
|
49
|
+
And I press button with text "Delete"
|
50
|
+
Then I should see "Are you sure?" within ".x-window"
|
51
|
+
When I press button with text "Yes"
|
52
|
+
Then I should see "Deleted 1 record(s)"
|
51
53
|
Then a user should not exist with first_name: "Anton"
|
52
|
-
And a user should not exist with first_name: "Maxim"
|
53
54
|
|
54
55
|
@javascript
|
55
56
|
Scenario: Multi-editing records
|
56
57
|
Given a user exists with first_name: "Carlos", last_name: "Castaneda"
|
57
58
|
And a user exists with first_name: "Herman", last_name: "Hesse"
|
58
59
|
When I go to the UserGrid test page
|
60
|
+
And I wait for response from server
|
59
61
|
And I select all rows in the grid
|
60
62
|
And I press "Edit in form"
|
63
|
+
And I wait for response from server
|
61
64
|
And I fill in "First name:" with "Maxim"
|
62
65
|
And I press "OK"
|
63
|
-
And I wait for
|
66
|
+
And I wait for response from server
|
64
67
|
Then the following users should exist:
|
65
68
|
| first_name | last_name |
|
66
69
|
| Maxim | Castaneda |
|
67
70
|
| Maxim | Hesse |
|
71
|
+
And I should not see window
|
68
72
|
But a user should not exist with first_name: "Carlos"
|
69
73
|
|
70
74
|
@javascript
|
@@ -95,21 +99,22 @@ Scenario: Grid with columns with default values
|
|
95
99
|
When I press "Add"
|
96
100
|
Then I should see "Nabokov"
|
97
101
|
And I press "Apply"
|
98
|
-
And I wait for
|
102
|
+
And I wait for response from server
|
99
103
|
Then a book should exist with title: "Lolita", exemplars: 100, digitized: true, author: that author
|
100
104
|
|
101
105
|
When I press "Add in form"
|
102
106
|
And I press "OK"
|
103
|
-
And I wait for
|
107
|
+
And I wait for response from server
|
104
108
|
Then 2 books should exist with title: "Lolita", exemplars: 100, digitized: true, author: that author
|
105
109
|
|
106
110
|
@javascript
|
107
111
|
Scenario: Inline editing
|
108
112
|
Given a book exists with title: "Magus", exemplars: 100
|
109
113
|
When I go to the BookGrid test page
|
114
|
+
And I wait for response from server
|
110
115
|
And I edit row 1 of the grid with title: "Collector", exemplars: 200
|
111
116
|
And I press "Apply"
|
112
|
-
And I wait for
|
117
|
+
And I wait for response from server
|
113
118
|
Then the grid should have 0 modified records
|
114
119
|
And a book should exist with title: "Collector", exemplars: 200
|
115
120
|
But a book should not exist with title: "Magus"
|
@@ -120,15 +125,16 @@ Scenario: Inline editing of association
|
|
120
125
|
And a book exists with title: "Lolita", author: that author
|
121
126
|
And an author exists with first_name: "Herman", last_name: "Hesse"
|
122
127
|
When I go to the BookGrid test page
|
128
|
+
And I wait for response from server
|
123
129
|
And I expand combobox "author__name" in row 1 of the grid
|
124
|
-
And I wait for
|
130
|
+
And I wait for response from server
|
125
131
|
And I select "Hesse, Herman" in combobox "author__name" in row 1 of the grid
|
126
132
|
And I edit row 1 of the grid with title: "Demian"
|
127
133
|
And I stop editing the grid
|
128
134
|
Then I should see "Hesse, Herman" within "#book_grid"
|
129
135
|
|
130
136
|
When I press "Apply"
|
131
|
-
And I wait for
|
137
|
+
And I wait for response from server
|
132
138
|
Then a book should exist with title: "Demian", author: that author
|
133
139
|
But a book should not exist with title: "Lolita"
|
134
140
|
|
@@ -140,37 +146,38 @@ Scenario: Inline adding of records
|
|
140
146
|
When I go to the BookGrid test page
|
141
147
|
And I press "Add"
|
142
148
|
And I expand combobox "author__name" in row 1 of the grid
|
143
|
-
And I wait for
|
149
|
+
And I wait for response from server
|
144
150
|
And I select "Hesse, Herman" in combobox "author__name" in row 1 of the grid
|
145
151
|
And I edit row 1 of the grid with title: "Demian"
|
152
|
+
And I stop editing the grid
|
146
153
|
|
147
154
|
And I press "Add"
|
148
155
|
And I expand combobox "author__name" in row 2 of the grid
|
149
|
-
And I wait for
|
156
|
+
And I wait for response from server
|
150
157
|
And I select "Nabokov, Vladimir" in combobox "author__name" in row 2 of the grid
|
151
158
|
And I edit row 2 of the grid with title: "Lolita"
|
152
|
-
|
153
159
|
And I stop editing the grid
|
160
|
+
|
154
161
|
And I press "Apply"
|
155
|
-
And I wait for
|
162
|
+
And I wait for response from server
|
156
163
|
Then a book should exist with title: "Lolita", author: author "Nabokov"
|
157
164
|
And a book should exist with title: "Demian", author: author "Hesse"
|
158
165
|
|
159
166
|
@javascript
|
160
|
-
Scenario: Inline adding of records in
|
167
|
+
Scenario: Inline adding of records in Grid with default values
|
161
168
|
Given an author: "Nabokov" exists with first_name: "Vladimir", last_name: "Nabokov"
|
162
169
|
And an author: "Hesse" exists with first_name: "Herman", last_name: "Hesse"
|
163
170
|
|
164
171
|
When I go to the BookGridWithDefaultValues test page
|
165
172
|
And I press "Add"
|
166
173
|
And I expand combobox "author__last_name" in row 1 of the grid
|
167
|
-
And I wait for
|
174
|
+
And I wait for response from server
|
168
175
|
And I select "Hesse" in combobox "author__last_name" in row 1 of the grid
|
169
176
|
And I edit row 1 of the grid with title: "Demian"
|
170
177
|
|
171
178
|
And I stop editing the grid
|
172
179
|
And I press "Apply"
|
173
|
-
And I wait for
|
180
|
+
And I wait for response from server
|
174
181
|
Then a book should exist with title: "Demian", author: author "Hesse"
|
175
182
|
|
176
183
|
@javascript
|
@@ -193,28 +200,32 @@ Scenario: Reloading grid data
|
|
193
200
|
Scenario: Advanced search window should be hidable after loading grid panel dynamically second time
|
194
201
|
Given I am on the BookGridLoader test page
|
195
202
|
When I press "Load one"
|
196
|
-
And I wait for
|
203
|
+
And I wait for response from server
|
197
204
|
And I press "Search"
|
198
205
|
And I press "Cancel"
|
199
206
|
|
200
207
|
When I press "Load two"
|
201
|
-
And I wait for
|
208
|
+
And I wait for response from server
|
202
209
|
|
203
210
|
When I press "Load one"
|
204
|
-
And I wait for
|
211
|
+
And I wait for response from server
|
205
212
|
|
206
213
|
And I press "Search" within "#book_grid_loader__book_grid_one"
|
207
|
-
And I wait for
|
208
|
-
And I press "Cancel" within "#
|
209
|
-
Then the "
|
214
|
+
And I wait for response from server
|
215
|
+
And I press "Cancel" within "#book_grid_loader__book_grid_one__search_window"
|
216
|
+
Then the "book_grid_loader__book_grid_one__search_window" component should be hidden
|
210
217
|
|
211
218
|
@javascript
|
212
219
|
Scenario: Column order should be saved across page reloads
|
213
220
|
Given I am on the BookGridWithPersistence test page
|
214
221
|
When I drag "Digitized" column before "Title"
|
215
|
-
And I wait for
|
222
|
+
And I wait for response from server
|
216
223
|
And I go to the BookGridWithPersistence test page
|
217
224
|
Then I should see columns in order: "Digitized", "Title", "Exemplars"
|
225
|
+
When I drag "Digitized" column before "Exemplars"
|
226
|
+
And I wait for response from server
|
227
|
+
And I go to the BookGridWithPersistence test page
|
228
|
+
Then I should see columns in order: "Title", "Digitized", "Exemplars"
|
218
229
|
|
219
230
|
@javascript
|
220
231
|
Scenario: I must see total records value
|
@@ -229,7 +240,7 @@ Scenario: I must see total records value
|
|
229
240
|
Then I should see "of 2" within paging toolbar
|
230
241
|
|
231
242
|
@javascript
|
232
|
-
Scenario:
|
243
|
+
Scenario: Grid with overridden columns
|
233
244
|
Given an author exists with first_name: "Vladimir", last_name: "Nabokov"
|
234
245
|
And a book exists with title: "Lolita", author: that author
|
235
246
|
When I go to the BookGridWithOverriddenColumns test page
|
@@ -248,14 +259,15 @@ Scenario: GridPanel with overridden columns
|
|
248
259
|
When I go to the BookGridWithVirtualAttributes test page
|
249
260
|
Then the grid's column "In abundance" should not be editable
|
250
261
|
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
262
|
+
# TODO: Action column code has been moved to Communitypack, move the tests
|
263
|
+
# @javascript
|
264
|
+
# Scenario: Delete record via an column action
|
265
|
+
# Given a book exists with title: "Some Title"
|
266
|
+
# When I go to the BookGridWithColumnActions test page
|
267
|
+
# And I click the "Delete row" action icon
|
268
|
+
# And I press "Yes"
|
269
|
+
# Then I should see "Deleted 1 record(s)"
|
270
|
+
# And a book should not exist with title: "Some Title"
|
259
271
|
|
260
272
|
@javascript
|
261
273
|
Scenario: Pagination in grid panel
|
@@ -272,6 +284,48 @@ Scenario: Pagination in grid panel
|
|
272
284
|
And the grid should show 2 records
|
273
285
|
|
274
286
|
When I go forward one page
|
275
|
-
And I wait for
|
287
|
+
And I wait for response from server
|
276
288
|
Then I should see "Getting Things Done"
|
277
289
|
And I should see "Magus"
|
290
|
+
|
291
|
+
@javascript
|
292
|
+
Scenario: Hidden columns
|
293
|
+
When I go to the BookGridWithExcludedColumns test page
|
294
|
+
Then I should not see "Notes"
|
295
|
+
And I should not see "Exemplars"
|
296
|
+
|
297
|
+
@javascript
|
298
|
+
Scenario: Editing in grid with mass-assignment security
|
299
|
+
# exemplars and author_id are protected attributes, not possible to change
|
300
|
+
Given an author exists with first_name: "Vladimir", last_name: "Nabokov"
|
301
|
+
And a book exists with title: "Lolita", author: that author, exemplars: 100
|
302
|
+
And an author exists with first_name: "Herman", last_name: "Hesse"
|
303
|
+
When I go to the BookGridWithMassAssignmentSecurity test page
|
304
|
+
And I wait for response from server
|
305
|
+
And I expand combobox "author__name" in row 1 of the grid
|
306
|
+
And I wait for response from server
|
307
|
+
And I select "Hesse, Herman" in combobox "author__name" in row 1 of the grid
|
308
|
+
And I edit row 1 of the grid with title: "Demian", exemplars: 200
|
309
|
+
And I stop editing the grid
|
310
|
+
And I press "Apply"
|
311
|
+
And I wait for response from server
|
312
|
+
Then a book should not exist with author: that author
|
313
|
+
And a book should not exist with exemplars: 200
|
314
|
+
But a book should exist with title: "Demian", exemplars: 100
|
315
|
+
|
316
|
+
@javascript
|
317
|
+
Scenario: Scoping out grid records
|
318
|
+
Given an author exists with first_name: "Vladimir", last_name: "Nabokov"
|
319
|
+
And a book exists with title: "Lolita", author: that author
|
320
|
+
And a book exists with title: "Louzhin Defence", author: that author
|
321
|
+
And an author exists with first_name: "Herman", last_name: "Hesse"
|
322
|
+
And a book exists with title: "Demian", author: that author
|
323
|
+
When I go to the BookGridWithScope test page
|
324
|
+
And I wait for response from server
|
325
|
+
Then the grid should show 2 records
|
326
|
+
|
327
|
+
@javascript
|
328
|
+
Scenario: Inline grid data
|
329
|
+
Given a book exists with title: "Man for himself"
|
330
|
+
When I go to the GridWithInlineData test page
|
331
|
+
Then I should see "Man for himself"
|
@@ -7,9 +7,10 @@ Feature: Grid panel with custom primary key
|
|
7
7
|
Scenario: Inline editing
|
8
8
|
Given a book_with_custom_primary_key exists with title: "Book you are to write"
|
9
9
|
When I go to the BookWithCustomPrimaryKeyGrid test page
|
10
|
+
And I wait for response from server
|
10
11
|
And I edit row 1 of the grid with title: "My fight club"
|
11
12
|
And I press "Apply"
|
12
|
-
And I wait for
|
13
|
+
And I wait for response from server
|
13
14
|
Then the grid should have 0 modified records
|
14
15
|
And a book_with_custom_primary_key should exist with title: "My fight club"
|
15
16
|
But a book should not exist with title: "Book you are to write"
|
@@ -12,12 +12,16 @@ Feature: Grid sorting
|
|
12
12
|
| Avatar |
|
13
13
|
|
14
14
|
When I go to the BookGrid test page
|
15
|
+
|
16
|
+
# HACK
|
17
|
+
And I sleep 1 second
|
18
|
+
|
15
19
|
And I click on column "Title"
|
16
|
-
And I wait for
|
20
|
+
And I wait for response from server
|
17
21
|
Then the grid should have records sorted by "Title"
|
18
22
|
|
19
23
|
When I click on column "Title"
|
20
|
-
And I wait for
|
24
|
+
And I wait for response from server
|
21
25
|
Then the grid should have records sorted by "Title" desc
|
22
26
|
|
23
27
|
@javascript
|
@@ -30,18 +34,38 @@ Feature: Grid sorting
|
|
30
34
|
And a book exists with title: "Magus", author: that author
|
31
35
|
|
32
36
|
When I go to the BookGridWithCustomColumns test page
|
37
|
+
|
38
|
+
# HACK
|
39
|
+
And I sleep 1 second
|
40
|
+
|
33
41
|
And I click on column "Author first name"
|
34
|
-
And I wait for
|
42
|
+
And I wait for response from server
|
35
43
|
Then the grid should have records sorted by "Author first name"
|
36
44
|
|
37
45
|
When I click on column "Author first name"
|
38
|
-
And I wait for
|
46
|
+
And I wait for response from server
|
39
47
|
Then the grid should have records sorted by "Author first name" desc
|
40
48
|
|
41
49
|
When I go to the BookGrid test page
|
50
|
+
|
51
|
+
# HACK
|
52
|
+
And I sleep 1 second
|
53
|
+
|
42
54
|
And I click on column "Author name"
|
43
|
-
And I wait for
|
55
|
+
And I wait for response from server
|
44
56
|
Then the grid should have records sorted by "Author name"
|
45
57
|
When I click on column "Author name"
|
46
|
-
And I wait for
|
58
|
+
And I wait for response from server
|
47
59
|
Then the grid should have records sorted by "Author name" desc
|
60
|
+
|
61
|
+
@javascript
|
62
|
+
Scenario: Sorting on regular column
|
63
|
+
Given the following books exist:
|
64
|
+
| title |
|
65
|
+
| Belief |
|
66
|
+
| Cosmos |
|
67
|
+
| Avatar |
|
68
|
+
|
69
|
+
When I go to the GridWithInitialSorting test page
|
70
|
+
And I wait for response from server
|
71
|
+
Then the grid should have records sorted by "Title" desc
|
@@ -12,32 +12,32 @@ Background:
|
|
12
12
|
|
13
13
|
@javascript
|
14
14
|
Scenario: Paging through records
|
15
|
-
When I go to the
|
15
|
+
When I go to the BookPagingForm test page
|
16
16
|
Then I should see "Journey to Ixtlan"
|
17
17
|
|
18
18
|
When I go forward one page
|
19
|
-
And I wait for
|
19
|
+
And I wait for response from server
|
20
20
|
Then the form should show title: "Lolita"
|
21
21
|
|
22
22
|
When I go forward one page
|
23
|
-
And I wait for
|
23
|
+
And I wait for response from server
|
24
24
|
Then the form should show title: "Getting Things Done"
|
25
25
|
|
26
26
|
#@javascript
|
27
27
|
#Scenario: Searching
|
28
|
-
#When I go to the
|
28
|
+
#When I go to the BookPagingForm test page
|
29
29
|
#And I press "Search"
|
30
|
-
#And I wait for
|
30
|
+
#And I wait for response from server
|
31
31
|
#And I expand combobox "undefined_attr"
|
32
32
|
#And I select "Exemplars" from combobox "undefined_attr"
|
33
33
|
#And I expand combobox "exemplars_operator"
|
34
34
|
#And I select "Less than" from combobox "exemplars_operator"
|
35
35
|
#And I fill in "exemplars_value" with "5"
|
36
36
|
#And I press "Search" within "#book_paging_form_panel__search_form"
|
37
|
-
#And I wait for
|
37
|
+
#And I wait for response from server
|
38
38
|
#Then the form should show title: "Getting Things Done"
|
39
39
|
|
40
40
|
@javascript
|
41
41
|
Scenario: I must see total records value
|
42
|
-
When I go to the
|
42
|
+
When I go to the BookPagingForm test page
|
43
43
|
Then I should see "of 3" within paging toolbar
|
@@ -0,0 +1,30 @@
|
|
1
|
+
Feature: Persistent regions
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
@javascript
|
7
|
+
Scenario: A panel with persistent regions should store its region sizes
|
8
|
+
When I go to the PanelWithPersistentRegions test page
|
9
|
+
Then the west region should have size of 100
|
10
|
+
And the south region should have size of 100
|
11
|
+
|
12
|
+
When I resize the west region to the size of 300
|
13
|
+
And I resize the south region to the size of 200
|
14
|
+
|
15
|
+
And I wait for response from server
|
16
|
+
And I go to the PanelWithPersistentRegions test page
|
17
|
+
Then the west region should have size of 300
|
18
|
+
And the south region should have size of 200
|
19
|
+
|
20
|
+
@javascript
|
21
|
+
Scenario: A panel with persistent regions should store its region collapse status
|
22
|
+
Given I am on the PanelWithPersistentRegions test page
|
23
|
+
When I collapse the south region
|
24
|
+
And I wait for response from server
|
25
|
+
And I go to the PanelWithPersistentRegions test page
|
26
|
+
Then the south region should be collapsed
|
27
|
+
When I expand the south region
|
28
|
+
And I wait for response from server
|
29
|
+
And I go to the PanelWithPersistentRegions test page
|
30
|
+
Then the south region should be expanded
|
@@ -22,13 +22,13 @@
|
|
22
22
|
#Then the grid should show 4 records
|
23
23
|
|
24
24
|
#When I press "Search"
|
25
|
-
#And I wait for
|
25
|
+
#And I wait for response from server
|
26
26
|
#And I expand combobox "undefined_attr"
|
27
27
|
#And I select "First name" from combobox "undefined_attr"
|
28
|
-
#And I wait for
|
28
|
+
#And I wait for response from server
|
29
29
|
#And I fill in "first_name_value" with "ai"
|
30
30
|
#And I press "Search" within "#user_grid__search_form"
|
31
|
-
#And I wait for
|
31
|
+
#And I wait for response from server
|
32
32
|
#Then the grid should show 2 records
|
33
33
|
|
34
34
|
# When I press "Search"
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# And I select "First name" from combobox "undefined_attr"
|
38
38
|
# And I fill in "first_name_value" with "in"
|
39
39
|
# And I press "Search" within "#user_grid__search_form"
|
40
|
-
# And I wait for
|
40
|
+
# And I wait for response from server
|
41
41
|
# Then the grid should show 3 records
|
42
42
|
|
43
43
|
# Search on association column not supported yet
|
@@ -45,5 +45,5 @@
|
|
45
45
|
# And I fill in "Role name like:" with "adm"
|
46
46
|
# And I fill in "First name like:" with ""
|
47
47
|
# And I press "Search" within "#user_grid__search_form"
|
48
|
-
# And I wait for
|
48
|
+
# And I wait for response from server
|
49
49
|
# Then the grid should show 3 records
|