AutorÃa | Ultima modificación | Ver Log |
@core_reportbuilder @javascriptFeature: Manage custom report columns aggregationIn order to manage the aggregation for columns of custom reportsAs an adminI need to select an aggregation for columnsBackground:Given the following "users" exist:| username | firstname | lastname | email | confirmed | lastaccess || user01 | Bill | Richie | user01@example.com | 1 | ##2 days ago## || user02 | Ben | Richie | user02@example.com | 1 | ##3 days ago## || user03 | Bill | Richie | user03@example.com | 0 | ##3 days ago## |Scenario Outline: Aggregate a text columnGiven the following "core_reportbuilder > Reports" exist:| name | source | default || My report | core_user\reportbuilder\datasource\users | 0 |And the following "core_reportbuilder > Columns" exist:| report | uniqueidentifier || My report | user:lastname || My report | user:firstname |And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"And I change window size to "large"When I set the "First name" column aggregation to "<aggregation>"Then I should see "Aggregated column 'First name'"And I should see "<output>" in the "Richie" "table_row"Examples:| aggregation | output || Comma separated distinct values | Ben, Bill || Comma separated values | Ben, Bill, Bill || Count | 3 || Count distinct | 2 |Scenario Outline: Aggregate a text column containing multiple fieldsGiven the following "core_reportbuilder > Reports" exist:| name | source | default || My report | core_user\reportbuilder\datasource\users | 0 |And the following "core_reportbuilder > Columns" exist:| report | uniqueidentifier || My report | user:lastname || My report | user:fullname |And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"And I change window size to "large"When I set the "Full name" column aggregation to "<aggregation>"Then I should see "Aggregated column 'Full name'"And I should see "<output>" in the "Richie" "table_row"Examples:| aggregation | output || Comma separated distinct values | Ben Richie, Bill Richie || Comma separated values | Ben Richie, Bill Richie, Bill Richie || Count | 3 || Count distinct | 2 |Scenario Outline: Aggregate a time columnGiven the following "core_reportbuilder > Reports" exist:| name | source | default || My report | core_user\reportbuilder\datasource\users | 0 |And the following "core_reportbuilder > Columns" exist:| report | uniqueidentifier || My report | user:lastname || My report | user:lastaccess |And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"And I change window size to "large"When I set the "Last access" column aggregation to "<aggregation>"Then I should see "Aggregated column 'Last access'"And I should see "<output>" in the "Richie" "table_row"Examples:| aggregation | output || Count | 3 || Count distinct | 2 || Maximum | ##2 days ago##%A, %d %B %Y## || Minimum | ##3 days ago##%A, %d %B %Y## |Scenario Outline: Aggregate a boolean columnGiven the following "core_reportbuilder > Reports" exist:| name | source | default || My report | core_user\reportbuilder\datasource\users | 0 |And the following "core_reportbuilder > Columns" exist:| report | uniqueidentifier || My report | user:lastname || My report | user:confirmed |And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"And I change window size to "large"When I set the "Confirmed" column aggregation to "<aggregation>"Then I should see "Aggregated column 'Confirmed'"And I should see "<output>" in the "Richie" "table_row"Examples:| aggregation | output || Comma separated distinct values | No, Yes || Comma separated values | No, Yes, Yes || Count | 3 || Count distinct | 2 || Maximum | Yes || Minimum | No || Average | 0.7 || Percentage | 66.7% || Sum | 2 |Scenario Outline: Aggregated columns display localised floatsGiven the following "language customisations" exist:| component | stringid | value || core_langconfig | decsep | , |And the following "core_reportbuilder > Reports" exist:| name | source | default || My report | core_user\reportbuilder\datasource\users | 0 |And the following "core_reportbuilder > Columns" exist:| report | uniqueidentifier || My report | user:lastname || My report | user:confirmed |And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"And I change window size to "large"When I set the "Confirmed" column aggregation to "<aggregation>"Then I should see "Aggregated column 'Confirmed'"And I should see "<output>" in the "Richie" "table_row"Examples:| aggregation | output || Average | 0,7 || Percentage | 66,7% |Scenario Outline: Aggregated columns display localised list separatorsGiven the following "language customisations" exist:| component | stringid | value || core_langconfig | listsep | ; |And the following "core_reportbuilder > Reports" exist:| name | source | default || My report | core_user\reportbuilder\datasource\users | 0 |And the following "core_reportbuilder > Columns" exist:| report | uniqueidentifier || My report | user:lastname || My report | user:firstname |And I am on the "My report" "reportbuilder > Editor" page logged in as "admin"And I change window size to "large"When I set the "First name" column aggregation to "<aggregation>"Then I should see "Aggregated column 'First name'"And I should see "<output>" in the "Richie" "table_row"Examples:| aggregation | output || Comma separated distinct values | Ben; Bill || Comma separated values | Ben; Bill; Bill |Scenario: Show unique report rowsGiven the following "core_reportbuilder > Reports" exist:| name | source | default | uniquerows || My report | core_user\reportbuilder\datasource\users | 0 | 1 |And the following "core_reportbuilder > Columns" exist:| report | uniqueidentifier || My report | user:firstname || My report | user:lastname |When I am on the "My report" "reportbuilder > Editor" page logged in as "admin"Then the following should exist in the "reportbuilder-table" table:| -1- | -2- || Admin | User || Ben | Richie || Bill | Richie |# Assert there is no 4th row (duplicate Bill Richie) because we're showing unique rows.And "//table[@data-region='reportbuilder-table']/tbody/tr[not(@class = 'emptyrow')][4]" "xpath_element" should not existAnd I set the "First name" column aggregation to "Comma separated values"And the following should exist in the "reportbuilder-table" table:| -1- | -2- || Admin | User || Ben, Bill, Bill | Richie |