@@ -17,6 +17,7 @@ const BelongsToUpdater = require('../src/services/belongs-to-updater');
17
17
const ResourceRemover = require ( '../src/services/resource-remover' ) ;
18
18
const HasManyGetter = require ( '../src/services/has-many-getter' ) ;
19
19
const HasManyDissociator = require ( '../src/services/has-many-dissociator' ) ;
20
+ const QueryStatGetter = require ( '../src/services/query-stat-getter' ) ;
20
21
21
22
const baseParams = { timezone : 'Europe/Paris' } ;
22
23
const user = { renderingId : 1 } ;
@@ -798,6 +799,28 @@ const user = { renderingId: 1 };
798
799
} ) ;
799
800
} ) ;
800
801
802
+ describe ( 'stats > query stat getter' , ( ) => {
803
+ it ( 'should give correct answer with recordId filtering' , async ( ) => {
804
+ expect . assertions ( 2 ) ;
805
+ const { options } = initializeSequelize ( ) ;
806
+
807
+ try {
808
+ const contextVariables = { recordId : 102 } ;
809
+ // eslint-disable-next-line jest/no-if
810
+ const escapeQuote = connectionManager === sequelizePostgres ? '"' : '`' ;
811
+ const stat = await new QueryStatGetter ( {
812
+ contextVariables,
813
+ query : `SELECT count(*) as value FROM ${ escapeQuote } users${ escapeQuote } WHERE ${ escapeQuote } primaryId${ escapeQuote } != ?` ,
814
+ } , options ) . perform ( ) ;
815
+
816
+ expect ( stat ) . toHaveLength ( 1 ) ;
817
+ expect ( `${ stat [ 0 ] . value } ` ) . toStrictEqual ( '2' ) ;
818
+ } finally {
819
+ connectionManager . closeConnection ( ) ;
820
+ }
821
+ } ) ;
822
+ } ) ;
823
+
801
824
describe ( 'resources > resources creator' , ( ) => {
802
825
describe ( 'create a record on a simple collection' , ( ) => {
803
826
it ( 'should create a record' , async ( ) => {
0 commit comments