From 3eae322a6adee9468068422242b25c94a6ddb111 Mon Sep 17 00:00:00 2001 From: jorgebl Date: Tue, 23 Feb 2021 16:09:29 +0100 Subject: [PATCH 1/3] Added scope days and test --- .../front/request-search-panel/index.html | 36 ++++++++++---- .../item/front/request-search-panel/index.js | 29 +++++++++++ .../front/request-search-panel/index.spec.js | 48 +++++++++++++++++++ modules/item/front/request/index.html | 2 +- modules/item/front/request/index.js | 22 ++++++++- 5 files changed, 125 insertions(+), 12 deletions(-) create mode 100644 modules/item/front/request-search-panel/index.spec.js diff --git a/modules/item/front/request-search-panel/index.html b/modules/item/front/request-search-panel/index.html index 10d5f97620..7d3a9f1a5f 100644 --- a/modules/item/front/request-search-panel/index.html +++ b/modules/item/front/request-search-panel/index.html @@ -1,6 +1,6 @@
-
- + + - + {{nickname}} - + - +
+ + ng-model="filter.from" + on-change="$ctrl.from = value"> + ng-model="filter.to" + on-change="$ctrl.to = value"> + Or + + + + - +
+ {{name}} - + diff --git a/modules/item/front/request-search-panel/index.js b/modules/item/front/request-search-panel/index.js index 823346e30e..556bdd8747 100644 --- a/modules/item/front/request-search-panel/index.js +++ b/modules/item/front/request-search-panel/index.js @@ -11,6 +11,35 @@ class Controller extends SearchPanel { {code: 'denied', name: this.$t('Denied')} ]; } + + get from() { + return this._from; + } + + set from(value) { + this._from = value; + this.filter.scopeDays = null; + } + + get to() { + return this._to; + } + + set to(value) { + this._to = value; + this.filter.scopeDays = null; + } + + get scopeDays() { + return this._scopeDays; + } + + set scopeDays(value) { + this._scopeDays = value; + + this.filter.from = null; + this.filter.to = null; + } } ngModule.vnComponent('vnRequestSearchPanel', { diff --git a/modules/item/front/request-search-panel/index.spec.js b/modules/item/front/request-search-panel/index.spec.js new file mode 100644 index 0000000000..2fb3392095 --- /dev/null +++ b/modules/item/front/request-search-panel/index.spec.js @@ -0,0 +1,48 @@ +import './index'; + +describe(' Component vnRequestSearchPanel', () => { + let controller; + + beforeEach(ngModule('item')); + + beforeEach(inject($componentController => { + controller = $componentController('vnRequestSearchPanel', {$element: null}); + controller.$t = () => {}; + controller.filter = {}; + })); + + describe('from() setter', () => { + it('should clear the scope days when setting the from property', () => { + controller.filter.scopeDays = 1; + + controller.from = new Date(); + + expect(controller.filter.scopeDays).toBeNull(); + expect(controller.from).toBeDefined(); + }); + }); + + describe('to() setter', () => { + it('should clear the scope days when setting the to property', () => { + controller.filter.scopeDays = 1; + + controller.to = new Date(); + + expect(controller.filter.scopeDays).toBeNull(); + expect(controller.to).toBeDefined(); + }); + }); + + describe('scopeDays() setter', () => { + it('should clear the date range when setting the scopeDays property', () => { + controller.filter.from = new Date(); + controller.filter.to = new Date(); + + controller.scopeDays = 1; + + expect(controller.filter.from).toBeNull(); + expect(controller.filter.to).toBeNull(); + expect(controller.scopeDays).toBeDefined(); + }); + }); +}); diff --git a/modules/item/front/request/index.html b/modules/item/front/request/index.html index 9b129a0170..932d7cc915 100644 --- a/modules/item/front/request/index.html +++ b/modules/item/front/request/index.html @@ -10,9 +10,9 @@ diff --git a/modules/item/front/request/index.js b/modules/item/front/request/index.js index 231d5eda74..3916d20ef2 100644 --- a/modules/item/front/request/index.js +++ b/modules/item/front/request/index.js @@ -16,13 +16,31 @@ export default class Controller extends Section { this.filterParams = { mine: true, - from: today, - to: nextWeek, + to: today, + from: nextWeek, state: 'pending' }; } } + fetchParams($params) { + if (!Object.entries($params).length) + $params.scopeDays = 1; + + if (typeof $params.scopeDays === 'number') { + const from = new Date(); + from.setHours(0, 0, 0, 0); + + const to = new Date(from.getTime()); + to.setDate(to.getDate() + $params.scopeDays); + to.setHours(23, 59, 59, 999); + + Object.assign($params, {from, to}); + } + + return $params; + } + getState(isOk) { if (isOk === null) return 'Pending'; From e32914d990a213fcc630316ba1b3c93cba36f0f3 Mon Sep 17 00:00:00 2001 From: jorgebl Date: Tue, 23 Feb 2021 16:27:18 +0100 Subject: [PATCH 2/3] Fixed error test --- e2e/paths/04-item/13_request.spec.js | 2 +- modules/item/front/request/index.html | 1 + modules/item/front/request/index.js | 5 ++--- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/e2e/paths/04-item/13_request.spec.js b/e2e/paths/04-item/13_request.spec.js index 19838883e0..7f0a9acf2f 100644 --- a/e2e/paths/04-item/13_request.spec.js +++ b/e2e/paths/04-item/13_request.spec.js @@ -1,7 +1,7 @@ import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; -describe('Item request path', () => { +fdescribe('Item request path', () => { let browser; let page; beforeAll(async() => { diff --git a/modules/item/front/request/index.html b/modules/item/front/request/index.html index 932d7cc915..ffbe9a712b 100644 --- a/modules/item/front/request/index.html +++ b/modules/item/front/request/index.html @@ -11,6 +11,7 @@ Date: Tue, 23 Feb 2021 16:31:05 +0100 Subject: [PATCH 3/3] Remove focus --- e2e/paths/04-item/13_request.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/paths/04-item/13_request.spec.js b/e2e/paths/04-item/13_request.spec.js index 7f0a9acf2f..19838883e0 100644 --- a/e2e/paths/04-item/13_request.spec.js +++ b/e2e/paths/04-item/13_request.spec.js @@ -1,7 +1,7 @@ import selectors from '../../helpers/selectors.js'; import getBrowser from '../../helpers/puppeteer'; -fdescribe('Item request path', () => { +describe('Item request path', () => { let browser; let page; beforeAll(async() => {