card-facet-counts.test.js 1.1 KB

123456789101112131415161718192021
  1. import {test} from 'node:test';
  2. import assert from 'node:assert/strict';
  3. import {cardFacetCounts} from '../src/core/library/reports.js';
  4. const entries=[
  5. {kind:'artifact',owner:'用户甲',stage:{code:'S1'},tags:['拌面'],methodKey:'session'},
  6. {kind:'artifact',owner:'用户甲',stage:{code:'S3'},tags:['拌面'],methodKey:'session'},
  7. {kind:'artifact',owner:'用户乙',stage:{code:'S3'},tags:['汤面'],methodKey:'manual'},
  8. ];
  9. test('用户分面忽略自身单选条件,显示每位用户真实数量',()=>{
  10. assert.deepEqual(cardFacetCounts(entries,{}).who,{'用户甲':2,'用户乙':1});
  11. assert.deepEqual(cardFacetCounts(entries,{who:'用户甲'}).who,{'用户甲':2,'用户乙':1});
  12. });
  13. test('用户分面受阶段和品类交集约束,其他分面保留用户条件',()=>{
  14. const counts=cardFacetCounts(entries,{stage:['S3'],who:'用户甲'});
  15. assert.deepEqual(counts.who,{'用户甲':1,'用户乙':1});
  16. assert.deepEqual(counts.m,{session:1});
  17. assert.deepEqual(cardFacetCounts(entries,{stage:['S3'],cat:['汤面'],who:'用户甲'}).who,{'用户乙':1});
  18. });