netzke-basepack 0.7.7 → 0.8.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.
- 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
|