Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 5DC50200C00 for ; Wed, 18 Jan 2017 13:57:40 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 5C3A1160B44; Wed, 18 Jan 2017 12:57:40 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 06711160B3A for ; Wed, 18 Jan 2017 13:57:38 +0100 (CET) Received: (qmail 97496 invoked by uid 500); 18 Jan 2017 12:57:38 -0000 Mailing-List: contact commits-help@tez.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tez.apache.org Delivered-To: mailing list commits@tez.apache.org Received: (qmail 97486 invoked by uid 99); 18 Jan 2017 12:57:37 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jan 2017 12:57:37 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id B723CDFA85; Wed, 18 Jan 2017 12:57:37 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sree@apache.org To: commits@tez.apache.org Message-Id: <2998c034e6b041e19bea7c0289338300@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: tez git commit: TEZ-3531. Tez UI: All Queries table: Improve searchability (sree) Date: Wed, 18 Jan 2017 12:57:37 +0000 (UTC) archived-at: Wed, 18 Jan 2017 12:57:40 -0000 Repository: tez Updated Branches: refs/heads/master 90b9af3d8 -> af68ad875 TEZ-3531. Tez UI: All Queries table: Improve searchability (sree) Project: http://git-wip-us.apache.org/repos/asf/tez/repo Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/af68ad87 Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/af68ad87 Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/af68ad87 Branch: refs/heads/master Commit: af68ad8753d755044b25d776370ba2cb639f35b3 Parents: 90b9af3 Author: Sreenath Somarajapuram Authored: Wed Jan 18 18:28:05 2017 +0530 Committer: Sreenath Somarajapuram Committed: Wed Jan 18 18:28:05 2017 +0530 ---------------------------------------------------------------------- CHANGES.txt | 1 + tez-ui/src/main/webapp/app/adapters/timeline.js | 8 +- .../app/components/queries-page-search.js | 16 +++ .../main/webapp/app/controllers/home/queries.js | 114 ++++++++++++------- .../src/main/webapp/app/routes/home/queries.js | 43 ++++++- .../webapp/app/styles/queries-page-search.less | 6 +- .../components/queries-page-search.hbs | 44 ++++++- .../components/queries-page-search-test.js | 27 ++++- .../webapp/tests/unit/adapters/timeline-test.js | 2 +- .../tests/unit/controllers/home/queries-test.js | 37 ++++++ .../tests/unit/routes/home/queries-test.js | 11 +- 11 files changed, 249 insertions(+), 60 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 9947cea..4d97ab3 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -165,6 +165,7 @@ ALL CHANGES: TEZ-3504. Tez UI: Duration is displaying invalid values when start or end time is invalid TEZ-3529. Tez UI: Add 'All Queries' table in the landing page along 'All DAGs' page TEZ-3530. Tez UI: Add query details page, and link the page from All Queries table + TEZ-3531. Tez UI: All Queries table: Improve searchability Release 0.8.5: Unreleased http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/app/adapters/timeline.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/adapters/timeline.js b/tez-ui/src/main/webapp/app/adapters/timeline.js index 4b74dd1..0029329 100644 --- a/tez-ui/src/main/webapp/app/adapters/timeline.js +++ b/tez-ui/src/main/webapp/app/adapters/timeline.js @@ -40,7 +40,13 @@ export default AbstractAdapter.extend({ callerID: "callerId", requestuser: "requestuser", executionMode: "executionmode", - callerId: "callerId" + callerId: "callerId", + + queryName: "queryname", + tablesRead: "tablesread", + tablesWritten: "tableswritten", + operationID: "operationid", + queue: "queue", }, stringifyFilters: function (filters) { http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/app/components/queries-page-search.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/components/queries-page-search.js b/tez-ui/src/main/webapp/app/components/queries-page-search.js index 2b3f196..0daf988 100644 --- a/tez-ui/src/main/webapp/app/components/queries-page-search.js +++ b/tez-ui/src/main/webapp/app/components/queries-page-search.js @@ -21,15 +21,31 @@ import Ember from 'ember'; export default Ember.Component.extend({ classNames: ['queries-page-search'], + queryName: Ember.computed.oneWay("tableDefinition.queryName"), queryID: Ember.computed.oneWay("tableDefinition.queryID"), + dagID: Ember.computed.oneWay("tableDefinition.dagID"), + appID: Ember.computed.oneWay("tableDefinition.appID"), + executionMode: Ember.computed.oneWay("tableDefinition.executionMode"), user: Ember.computed.oneWay("tableDefinition.user"), requestUser: Ember.computed.oneWay("tableDefinition.requestUser"), + tablesRead: Ember.computed.oneWay("tableDefinition.tablesRead"), + tablesWritten: Ember.computed.oneWay("tableDefinition.tablesWritten"), + operationID: Ember.computed.oneWay("tableDefinition.operationID"), + queue: Ember.computed.oneWay("tableDefinition.queue"), sendSearch: function () { this.get('parentView').sendAction('search', { + queryName: this.get("queryName"), queryID: this.get("queryID"), + dagID: this.get("dagID"), + appID: this.get("appID"), + executionMode: this.get("executionMode"), user: this.get("user"), requestUser: this.get("requestUser"), + tablesRead: this.get("tablesRead"), + tablesWritten: this.get("tablesWritten"), + operationID: this.get("operationID"), + queue: this.get("queue"), }); }, http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/app/controllers/home/queries.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/controllers/home/queries.js b/tez-ui/src/main/webapp/app/controllers/home/queries.js index a79abed..2eb251e 100644 --- a/tez-ui/src/main/webapp/app/controllers/home/queries.js +++ b/tez-ui/src/main/webapp/app/controllers/home/queries.js @@ -24,10 +24,19 @@ import TableDefinition from 'em-table/utils/table-definition'; export default TableController.extend({ - queryParams: ["queryID", "user", "requestUser"], + queryParams: ["queryName", "queryID", "dagID", "appID", "user", "requestUser", + "tablesRead", "tablesWritten", "operationID", "queue"], + queryName: "", queryID: "", + dagID: "", + appID: "", + executionMode: "", user: "", requestUser: "", + tablesRead: "", + tablesWritten: "", + operationID: "", + queue: "", // Because pageNo is a query param added by table controller, and in the current design // we don't want page to be a query param as only the first page will be loaded first. @@ -45,15 +54,24 @@ export default TableController.extend({ _definition: TableDefinition.create(), // Using computed, as observer won't fire if the property is not used - definition: Ember.computed("queryID", "user", "requestUser", + definition: Ember.computed("queryID", "queryName", "dagID", "appID", "user", "requestUser", + "executionMode", "tablesRead", "tablesWritten", "operationID", "queue", "pageNum", "moreAvailable", "loadingMore", function () { var definition = this.get("_definition"); definition.setProperties({ + queryName: this.get("queryName"), queryID: this.get("queryID"), + dagID: this.get("dagID"), + appID: this.get("appID"), + executionMode: this.get("executionMode"), user: this.get("user"), requestUser: this.get("requestUser"), + tablesRead: this.get("tablesRead"), + tablesWritten: this.get("tablesWritten"), + operationID: this.get("operationID"), + queue: this.get("queue"), pageNum: this.get("pageNum"), @@ -77,14 +95,30 @@ export default TableController.extend({ }; } },{ + id: 'requestUser', + headerTitle: 'User', + contentPath: 'requestUser', + },{ id: 'status', headerTitle: 'Status', contentPath: 'status', cellComponentName: 'em-table-status-cell', },{ - id: 'requestUser', - headerTitle: 'User', - contentPath: 'requestUser', + id: 'queryText', + headerTitle: 'Query', + contentPath: 'queryText', + },{ + id: 'dagID', + headerTitle: 'DAG ID', + contentPath: 'dag.firstObject.entityID', + cellComponentName: 'em-table-linked-cell', + getCellContent: function (row) { + return { + routeName: "dag", + model: row.get("dag.firstObject.entityID"), + text: row.get("dag.firstObject.entityID") + }; + } },{ id: 'tablesRead', headerTitle: 'Tables Read', @@ -106,13 +140,26 @@ export default TableController.extend({ } } },{ - id: 'queue', - headerTitle: 'Queue', - contentPath: 'queue', + id: 'clientAddress', + headerTitle: 'Client Address', + contentPath: 'clientAddress', },{ - id: 'hiveAddress', - headerTitle: 'Hive Server 2 Address', - contentPath: 'hiveAddress' + id: 'startTime', + headerTitle: 'Start Time', + contentPath: 'startTime', + cellComponentName: 'date-formatter', + },{ + id: 'endTime', + headerTitle: 'End Time', + contentPath: 'endTime', + cellComponentName: 'date-formatter', + },{ + id: 'duration', + headerTitle: 'Duration', + contentPath: 'duration', + cellDefinition: { + type: 'duration' + } },{ id: 'appID', headerTitle: 'Application Id', @@ -126,22 +173,22 @@ export default TableController.extend({ }; } },{ + id: 'queue', + headerTitle: 'Queue', + contentPath: 'queue', + },{ + id: 'executionMode', + headerTitle: 'Execution Mode', + contentPath: 'executionMode', + },{ + id: 'hiveAddress', + headerTitle: 'Hive Server 2 Address', + contentPath: 'hiveAddress' + },{ id: 'queryName', headerTitle: 'Query Name', contentPath: 'queryName' },{ - id: 'dagName', - headerTitle: 'DAG', - contentPath: 'dag.firstObject.name', - cellComponentName: 'em-table-linked-cell', - getCellContent: function (row) { - return { - routeName: "dag", - model: row.get("dag.firstObject.entityID"), - text: row.get("dag.firstObject.name") - }; - } - },{ id: 'instanceType', headerTitle: 'Client Type', contentPath: 'instanceType' @@ -150,30 +197,9 @@ export default TableController.extend({ headerTitle: 'Session ID', contentPath: 'sessionID', },{ - id: 'clientAddress', - headerTitle: 'Client Address', - contentPath: 'clientAddress', - },{ id: 'threadName', headerTitle: 'Thread Name', contentPath: 'threadName', - },{ - id: 'startTime', - headerTitle: 'Start Time', - contentPath: 'startTime', - cellComponentName: 'date-formatter', - },{ - id: 'endTime', - headerTitle: 'End Time', - contentPath: 'endTime', - cellComponentName: 'date-formatter', - },{ - id: 'duration', - headerTitle: 'Duration', - contentPath: 'duration', - cellDefinition: { - type: 'duration' - } }]), getCounterColumns: function () { http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/app/routes/home/queries.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/routes/home/queries.js b/tez-ui/src/main/webapp/app/routes/home/queries.js index 983ba58..7528ba7 100644 --- a/tez-ui/src/main/webapp/app/routes/home/queries.js +++ b/tez-ui/src/main/webapp/app/routes/home/queries.js @@ -26,17 +26,33 @@ export default ServerSideOpsRoute.extend({ title: "Hive Queries", queryParams: { + queryName: REFRESH, queryID: REFRESH, + dagID: REFRESH, + appID: REFRESH, + executionMode: REFRESH, user: REFRESH, requestUser: REFRESH, + tablesRead: REFRESH, + tablesWritten: REFRESH, + operationID: REFRESH, + queue: REFRESH, rowCount: REFRESH }, loaderQueryParams: { + queryName: "queryName", id: "queryID", - requestuser: "requestUser", + dagID: "dagID", + appID: "appID", + executionMode: "executionMode", user: "user", + requestuser: "requestUser", + tablesRead: "tablesRead", + tablesWritten: "tablesWritten", + operationID: "operationID", + queue: "queue", limit: "rowCount", }, @@ -47,7 +63,30 @@ export default ServerSideOpsRoute.extend({ fromId: null, load: function (value, query, options) { - query.executionMode = "TEZ"; + var that = this; + + if(query.dagID) { + return that.get("loader").queryRecord("dag", query.dagID).then(function (dag) { + return that.load(value, { + id: dag.get("callerID") + }, options); + }, function () { + return []; + }); + } + else if(query.appID) { + return that.get("loader").query("dag", { + appID: query.appID, + limit: query.limit + }).then(function (dags) { + return Ember.RSVP.all(dags.map(function (dag) { + return that.get("loader").queryRecord("hive-query", dag.get("callerID"), options); + })); + }, function () { + return []; + }); + } + return this._super(value, query, options); }, http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/app/styles/queries-page-search.less ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/styles/queries-page-search.less b/tez-ui/src/main/webapp/app/styles/queries-page-search.less index a22535c..6c73cc9 100644 --- a/tez-ui/src/main/webapp/app/styles/queries-page-search.less +++ b/tez-ui/src/main/webapp/app/styles/queries-page-search.less @@ -41,7 +41,7 @@ .search-element { display: inline-block; - width: 33.3%; + width: 12.5%; vertical-align: top; @@ -60,10 +60,10 @@ } } -@media screen and (min-width: 800px) { +@media screen and (min-width: 1300px) { .queries-page-search{ float: left; - width: 50%; + width: 80%; .form-group { margin-bottom: 0px; http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/app/templates/components/queries-page-search.hbs ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/templates/components/queries-page-search.hbs b/tez-ui/src/main/webapp/app/templates/components/queries-page-search.hbs index 05762b2..1fe2dc8 100644 --- a/tez-ui/src/main/webapp/app/templates/components/queries-page-search.hbs +++ b/tez-ui/src/main/webapp/app/templates/components/queries-page-search.hbs @@ -34,8 +34,48 @@ enter="search" }}
- - {{input value=requestUser + + {{input value=dagID + type="text" + class="form-control input-sm" + placeholder="Search..." + enter="search" + }} +
+ + {{input value=tablesRead + type="text" + class="form-control input-sm" + placeholder="Search..." + enter="search" + }} +
+ + {{input value=tablesWritten + type="text" + class="form-control input-sm" + placeholder="Search..." + enter="search" + }} +
+ + {{input value=appID + type="text" + class="form-control input-sm" + placeholder="Search..." + enter="search" + }} +
+ + {{input value=queue + type="text" + class="form-control input-sm" + placeholder="Search..." + enter="search" + }} +
+ + {{input value=executionMode type="text" class="form-control input-sm" placeholder="Search..." http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/tests/integration/components/queries-page-search-test.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/tests/integration/components/queries-page-search-test.js b/tez-ui/src/main/webapp/tests/integration/components/queries-page-search-test.js index 700608c..1390371 100644 --- a/tez-ui/src/main/webapp/tests/integration/components/queries-page-search-test.js +++ b/tez-ui/src/main/webapp/tests/integration/components/queries-page-search-test.js @@ -28,7 +28,7 @@ moduleForComponent('queries-page-search', 'Integration | Component | queries pag test('Basic creation test', function(assert) { this.render(hbs`{{queries-page-search}}`); - assert.equal(this.$("input").length, 3); + assert.equal(this.$("input").length, 8); // Template block usage:" + EOL + this.render(hbs` @@ -36,26 +36,41 @@ test('Basic creation test', function(assert) { template block text {{/queries-page-search}} `); - assert.equal(this.$("input").length, 3); + assert.equal(this.$("input").length, 8); }); test('tableDefinition test', function(assert) { var testQueryID = "query_1", testUser = "user", - testRequestUser = "RequestUser"; + testTablesRead = "TablesRead", + testTablesWritten = "TablesWritten", + testAppID = "AppID", + testDagID = "DAGID", + testQueue = "queue", + testExecutionMode = "ExecutionMode"; this.set("tableDefinition", Ember.Object.create({ queryID: testQueryID, user: testUser, - requestUser: testRequestUser + tablesRead: testTablesRead, + tablesWritten: testTablesWritten, + appID: testAppID, + dagID: testDagID, + queue: testQueue, + executionMode: testExecutionMode, })); this.render(hbs`{{queries-page-search tableDefinition=tableDefinition}}`); return wait().then(() => { - assert.equal(this.$('input').length, 3); + assert.equal(this.$('input').length, 8); assert.equal(this.$('input').eq(0).val(), testQueryID); assert.equal(this.$('input').eq(1).val(), testUser); - assert.equal(this.$('input').eq(2).val(), testRequestUser); + assert.equal(this.$('input').eq(2).val(), testDagID); + assert.equal(this.$('input').eq(3).val(), testTablesRead); + assert.equal(this.$('input').eq(4).val(), testTablesWritten); + assert.equal(this.$('input').eq(5).val(), testAppID); + assert.equal(this.$('input').eq(6).val(), testQueue); + assert.equal(this.$('input').eq(7).val(), testExecutionMode); }); }); http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/tests/unit/adapters/timeline-test.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/tests/unit/adapters/timeline-test.js b/tez-ui/src/main/webapp/tests/unit/adapters/timeline-test.js index ebc53f1..d189b5d 100644 --- a/tez-ui/src/main/webapp/tests/unit/adapters/timeline-test.js +++ b/tez-ui/src/main/webapp/tests/unit/adapters/timeline-test.js @@ -37,7 +37,7 @@ test('Basic creation test', function(assert) { test('filters test', function(assert) { let filters = this.subject().filters; - assert.equal(Object.keys(filters).length, 13); + assert.equal(Object.keys(filters).length, 6 + 7 + 5); }); test('stringifyFilters test', function(assert) { http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/tests/unit/controllers/home/queries-test.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/tests/unit/controllers/home/queries-test.js b/tez-ui/src/main/webapp/tests/unit/controllers/home/queries-test.js index 3dbc161..753015d 100644 --- a/tez-ui/src/main/webapp/tests/unit/controllers/home/queries-test.js +++ b/tez-ui/src/main/webapp/tests/unit/controllers/home/queries-test.js @@ -33,6 +33,7 @@ test('Basic creation test', function(assert) { assert.ok(controller); assert.ok(controller.queryParams); + assert.equal(controller.queryParams.length, 10 + 5); assert.ok(controller.breadcrumbs); assert.ok(controller.headerComponentNames); @@ -58,16 +59,31 @@ test('definition test', function(assert) { }), definition = controller.get("definition"), + testQueryName = "QueryName", testQueryID = "QueryID", + testDagID = "DagID", + testAppID = "AppID", + testExecutionMode = "ExecutionMode", testUser = "User", testRequestUser = "RequestUser", + testTablesRead = "TablesRead", + testTablesWritten = "TablesWritten", + testQueue = "queue", + testPageNum = 10, testMoreAvailable = true, testLoadingMore = true; + assert.equal(definition.get("queryName"), ""); assert.equal(definition.get("queryID"), ""); + assert.equal(definition.get("dagID"), ""); + assert.equal(definition.get("appID"), ""); + assert.equal(definition.get("executionMode"), ""); assert.equal(definition.get("user"), ""); assert.equal(definition.get("requestUser"), ""); + assert.equal(definition.get("tablesRead"), ""); + assert.equal(definition.get("tablesWritten"), ""); + assert.equal(definition.get("queue"), ""); assert.equal(definition.get("pageNum"), 1); @@ -75,15 +91,36 @@ test('definition test', function(assert) { assert.equal(definition.get("loadingMore"), false); Ember.run(function () { + controller.set("queryName", testQueryName); + assert.equal(controller.get("definition.queryName"), testQueryName); + controller.set("queryID", testQueryID); assert.equal(controller.get("definition.queryID"), testQueryID); + controller.set("dagID", testDagID); + assert.equal(controller.get("definition.dagID"), testDagID); + + controller.set("appID", testAppID); + assert.equal(controller.get("definition.appID"), testAppID); + + controller.set("executionMode", testExecutionMode); + assert.equal(controller.get("definition.executionMode"), testExecutionMode); + controller.set("user", testUser); assert.equal(controller.get("definition.user"), testUser); controller.set("requestUser", testRequestUser); assert.equal(controller.get("definition.requestUser"), testRequestUser); + controller.set("tablesRead", testTablesRead); + assert.equal(controller.get("definition.tablesRead"), testTablesRead); + + controller.set("tablesWritten", testTablesWritten); + assert.equal(controller.get("definition.tablesWritten"), testTablesWritten); + + controller.set("queue", testQueue); + assert.equal(controller.get("definition.queue"), testQueue); + controller.set("pageNum", testPageNum); assert.equal(controller.get("definition.pageNum"), testPageNum); http://git-wip-us.apache.org/repos/asf/tez/blob/af68ad87/tez-ui/src/main/webapp/tests/unit/routes/home/queries-test.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/tests/unit/routes/home/queries-test.js b/tez-ui/src/main/webapp/tests/unit/routes/home/queries-test.js index da3ad34..d43a76b 100644 --- a/tez-ui/src/main/webapp/tests/unit/routes/home/queries-test.js +++ b/tez-ui/src/main/webapp/tests/unit/routes/home/queries-test.js @@ -43,15 +43,24 @@ test('it exists', function(assert) { test('refresh test', function(assert) { let route = this.subject(); + assert.equal(route.get("queryParams.queryName.refreshModel"), true); assert.equal(route.get("queryParams.queryID.refreshModel"), true); + assert.equal(route.get("queryParams.dagID.refreshModel"), true); + assert.equal(route.get("queryParams.appID.refreshModel"), true); + assert.equal(route.get("queryParams.executionMode.refreshModel"), true); assert.equal(route.get("queryParams.user.refreshModel"), true); assert.equal(route.get("queryParams.requestUser.refreshModel"), true); + assert.equal(route.get("queryParams.tablesRead.refreshModel"), true); + assert.equal(route.get("queryParams.tablesWritten.refreshModel"), true); + assert.equal(route.get("queryParams.operationID.refreshModel"), true); + assert.equal(route.get("queryParams.queue.refreshModel"), true); + assert.equal(route.get("queryParams.rowCount.refreshModel"), true); }); test('loaderQueryParams test', function(assert) { let route = this.subject(); - assert.equal(Object.keys(route.get("loaderQueryParams")).length, 4); + assert.equal(Object.keys(route.get("loaderQueryParams")).length, 11 + 1); }); test('actions.willTransition test', function(assert) {