@@ -13,6 +13,7 @@ import {
1313import { visualizationsTaskRunner } from './task_runner' ;
1414import { TaskInstance } from '../../../../../task_manager/server' ;
1515import { getNextMidnight } from '../../get_next_midnight' ;
16+ import moment from 'moment' ;
1617
1718describe ( 'visualizationsTaskRunner' , ( ) => {
1819 let mockTaskInstance : TaskInstance ;
@@ -55,6 +56,9 @@ describe('visualizationsTaskRunner', () => {
5556 spaces_max : 1 ,
5657 spaces_min : 1 ,
5758 total : 1 ,
59+ saved_7_days_total : 1 ,
60+ saved_30_days_total : 1 ,
61+ saved_90_days_total : 1 ,
5862 } ,
5963 } ,
6064 } ,
@@ -69,57 +73,124 @@ describe('visualizationsTaskRunner', () => {
6973 _source : {
7074 type : 'visualization' ,
7175 visualization : { visState : '{"type": "cave_painting"}' } ,
76+ updated_at : moment ( ) . subtract ( 7 , 'days' ) . startOf ( 'day' ) . toString ( ) ,
7277 } ,
7378 } ,
7479 {
7580 _id : 'visualization:coolviz-456' ,
7681 _source : {
7782 type : 'visualization' ,
7883 visualization : { visState : '{"type": "printing_press"}' } ,
84+ updated_at : moment ( ) . subtract ( 20 , 'days' ) . startOf ( 'day' ) . toString ( ) ,
7985 } ,
8086 } ,
8187 {
8288 _id : 'meat:visualization:coolviz-789' ,
83- _source : { type : 'visualization' , visualization : { visState : '{"type": "floppy_disk"}' } } ,
89+ _source : {
90+ type : 'visualization' ,
91+ visualization : { visState : '{"type": "floppy_disk"}' } ,
92+ updated_at : moment ( ) . subtract ( 2 , 'months' ) . startOf ( 'day' ) . toString ( ) ,
93+ } ,
8494 } ,
8595 // meat space
8696 {
8797 _id : 'meat:visualization:coolviz-789' ,
8898 _source : {
8999 type : 'visualization' ,
90100 visualization : { visState : '{"type": "cave_painting"}' } ,
101+ updated_at : moment ( ) . subtract ( 89 , 'days' ) . startOf ( 'day' ) . toString ( ) ,
91102 } ,
92103 } ,
93104 {
94105 _id : 'meat:visualization:coolviz-789' ,
95- _source : { type : 'visualization' , visualization : { visState : '{"type": "cuneiform"}' } } ,
106+ _source : {
107+ type : 'visualization' ,
108+ visualization : { visState : '{"type": "cuneiform"}' } ,
109+ updated_at : moment ( ) . subtract ( 5 , 'months' ) . startOf ( 'day' ) . toString ( ) ,
110+ } ,
96111 } ,
97112 {
98113 _id : 'meat:visualization:coolviz-789' ,
99- _source : { type : 'visualization' , visualization : { visState : '{"type": "cuneiform"}' } } ,
114+ _source : {
115+ type : 'visualization' ,
116+ visualization : { visState : '{"type": "cuneiform"}' } ,
117+ updated_at : moment ( ) . subtract ( 2 , 'days' ) . startOf ( 'day' ) . toString ( ) ,
118+ } ,
100119 } ,
101120 {
102121 _id : 'meat:visualization:coolviz-789' ,
103- _source : { type : 'visualization' , visualization : { visState : '{"type": "floppy_disk"}' } } ,
122+ _source : {
123+ type : 'visualization' ,
124+ visualization : { visState : '{"type": "floppy_disk"}' } ,
125+ updated_at : moment ( ) . subtract ( 7 , 'days' ) . startOf ( 'day' ) . toString ( ) ,
126+ } ,
104127 } ,
105128 // cyber space
106129 {
107130 _id : 'cyber:visualization:coolviz-789' ,
108- _source : { type : 'visualization' , visualization : { visState : '{"type": "floppy_disk"}' } } ,
131+ _source : {
132+ type : 'visualization' ,
133+ visualization : { visState : '{"type": "floppy_disk"}' } ,
134+ updated_at : moment ( ) . subtract ( 7 , 'months' ) . startOf ( 'day' ) . toString ( ) ,
135+ } ,
109136 } ,
110137 {
111138 _id : 'cyber:visualization:coolviz-789' ,
112- _source : { type : 'visualization' , visualization : { visState : '{"type": "floppy_disk"}' } } ,
139+ _source : {
140+ type : 'visualization' ,
141+ visualization : { visState : '{"type": "floppy_disk"}' } ,
142+ updated_at : moment ( ) . subtract ( 3 , 'days' ) . startOf ( 'day' ) . toString ( ) ,
143+ } ,
113144 } ,
114145 {
115146 _id : 'cyber:visualization:coolviz-123' ,
116147 _source : {
117148 type : 'visualization' ,
118149 visualization : { visState : '{"type": "cave_painting"}' } ,
150+ updated_at : moment ( ) . subtract ( 15 , 'days' ) . startOf ( 'day' ) . toString ( ) ,
119151 } ,
120152 } ,
121153 ] ) ;
122154
155+ const expectedStats = {
156+ cave_painting : {
157+ total : 3 ,
158+ spaces_min : 1 ,
159+ spaces_max : 1 ,
160+ spaces_avg : 1 ,
161+ saved_7_days_total : 1 ,
162+ saved_30_days_total : 2 ,
163+ saved_90_days_total : 3 ,
164+ } ,
165+ printing_press : {
166+ total : 1 ,
167+ spaces_min : 1 ,
168+ spaces_max : 1 ,
169+ spaces_avg : 1 ,
170+ saved_7_days_total : 0 ,
171+ saved_30_days_total : 1 ,
172+ saved_90_days_total : 1 ,
173+ } ,
174+ cuneiform : {
175+ total : 2 ,
176+ spaces_min : 2 ,
177+ spaces_max : 2 ,
178+ spaces_avg : 2 ,
179+ saved_7_days_total : 1 ,
180+ saved_30_days_total : 1 ,
181+ saved_90_days_total : 1 ,
182+ } ,
183+ floppy_disk : {
184+ total : 4 ,
185+ spaces_min : 2 ,
186+ spaces_max : 2 ,
187+ spaces_avg : 2 ,
188+ saved_7_days_total : 2 ,
189+ saved_30_days_total : 2 ,
190+ saved_90_days_total : 3 ,
191+ } ,
192+ } ;
193+
123194 const runner = visualizationsTaskRunner (
124195 mockTaskInstance ,
125196 getMockConfig ( ) ,
@@ -131,13 +202,10 @@ describe('visualizationsTaskRunner', () => {
131202 error : undefined ,
132203 state : {
133204 runs : 1 ,
134- stats : {
135- cave_painting : { total : 3 , spaces_min : 1 , spaces_max : 1 , spaces_avg : 1 } ,
136- printing_press : { total : 1 , spaces_min : 1 , spaces_max : 1 , spaces_avg : 1 } ,
137- cuneiform : { total : 2 , spaces_min : 2 , spaces_max : 2 , spaces_avg : 2 } ,
138- floppy_disk : { total : 4 , spaces_min : 2 , spaces_max : 2 , spaces_avg : 2 } ,
139- } ,
205+ stats : expectedStats ,
140206 } ,
141207 } ) ;
208+
209+ expect ( result . state . stats ) . toMatchObject ( expectedStats ) ;
142210 } ) ;
143211} ) ;
0 commit comments