@outliant/sunrise-utils 1.1.22 → 1.1.23

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.
package/CHANGELOG.md CHANGED
@@ -4,9 +4,16 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ #### [1.1.23](https://github.com/outliant/sunrise-utils/compare/1.1.22...1.1.23)
8
+
9
+ - chore: fix task pipeline last comment date filtering #86azcxk24 [`#29`](https://github.com/outliant/sunrise-utils/pull/29)
10
+
7
11
  #### [1.1.22](https://github.com/outliant/sunrise-utils/compare/1.1.21...1.1.22)
8
12
 
13
+ > 27 February 2024
14
+
9
15
  - chore: update sticky filters migration sort rule #86azcbz94 [`#28`](https://github.com/outliant/sunrise-utils/pull/28)
16
+ - chore(release): 1.1.22 [`9383476`](https://github.com/outliant/sunrise-utils/commit/9383476cdd89b29a56fce8c2269b11f1eae7db3d)
10
17
 
11
18
  #### [1.1.21](https://github.com/outliant/sunrise-utils/compare/1.1.20...1.1.21)
12
19
 
@@ -298,6 +298,11 @@ module.exports.buildTaskPipelineFilter = (filter) => {
298
298
  ...filter,
299
299
  type: 'ready_at'
300
300
  });
301
+ case 'last_comment_date':
302
+ return buildTaskFieldFilter({
303
+ ...filter,
304
+ type: 'last_comment_data.created_at'
305
+ });
301
306
  // Always expected as is_equal condition with array of task template ids
302
307
  case 'task_templates':
303
308
  let value = filter.value;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@outliant/sunrise-utils",
3
3
  "description": "Helper functions for project Sunrise",
4
- "version": "1.1.22",
4
+ "version": "1.1.23",
5
5
  "license": "ISC",
6
6
  "author": "Outliant",
7
7
  "main": "index.js",
@@ -357,5 +357,109 @@ describe('taskFilter', function () {
357
357
  });
358
358
  done();
359
359
  });
360
+
361
+ describe('last_comment_date', () => {
362
+ it('should handle `is_equal` filter', () => {
363
+ const filter = taskFilter.buildTaskPipelineFilter({
364
+ field_id: '',
365
+ field_type: 'date',
366
+ type: 'last_comment_date',
367
+ condition: 'is_equal',
368
+ value: 1704067200000,
369
+ second_value: null
370
+ });
371
+
372
+ expect(filter).to.be.deep.equal({
373
+ range: {
374
+ 'last_comment_data.created_at': {
375
+ gte: 1704038400000,
376
+ lte: 1704124799999
377
+ }
378
+ }
379
+ });
380
+ });
381
+
382
+ it('should handle `not_equal` filter', () => {
383
+ const filter = taskFilter.buildTaskPipelineFilter({
384
+ field_id: '',
385
+ field_type: 'date',
386
+ type: 'last_comment_date',
387
+ condition: 'not_equal',
388
+ value: 1704067200000,
389
+ second_value: null
390
+ });
391
+
392
+ expect(filter).to.be.deep.equal({
393
+ bool: {
394
+ must_not: {
395
+ range: {
396
+ 'last_comment_data.created_at': {
397
+ gte: 1704038400000,
398
+ lte: 1704124799999
399
+ }
400
+ }
401
+ }
402
+ }
403
+ });
404
+ });
405
+
406
+ it('should handle `after` filter', () => {
407
+ const filter = taskFilter.buildTaskPipelineFilter({
408
+ field_id: '',
409
+ field_type: 'date',
410
+ type: 'last_comment_date',
411
+ condition: 'after',
412
+ value: 1704067200000,
413
+ second_value: null
414
+ });
415
+
416
+ expect(filter).to.be.deep.equal({
417
+ range: {
418
+ 'last_comment_data.created_at': {
419
+ gt: 1704124799999
420
+ }
421
+ }
422
+ });
423
+ });
424
+
425
+ it('should handle `before` filter', () => {
426
+ const filter = taskFilter.buildTaskPipelineFilter({
427
+ field_id: '',
428
+ field_type: 'date',
429
+ type: 'last_comment_date',
430
+ condition: 'before',
431
+ value: 1704067200000,
432
+ second_value: null
433
+ });
434
+
435
+ expect(filter).to.be.deep.equal({
436
+ range: {
437
+ 'last_comment_data.created_at': {
438
+ lt: 1704038400000
439
+ }
440
+ }
441
+ });
442
+ });
443
+
444
+ it('should handle `between` filter', () => {
445
+ const filter = taskFilter.buildTaskPipelineFilter({
446
+ field_id: '',
447
+ field_type: 'date',
448
+ type: 'last_comment_date',
449
+ condition: 'between',
450
+ value: '01/19/2024',
451
+ second_value: '02/29/2024'
452
+ });
453
+
454
+ expect(filter).to.be.deep.equal({
455
+ range: {
456
+ 'last_comment_data.created_at': {
457
+ gte: 1705593600000,
458
+ lte: 1709222399999
459
+ }
460
+ }
461
+ });
462
+ });
463
+ });
360
464
  });
361
465
  });