• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CBIIT / bento-icdc-frontend / 26531437966

27 May 2026 06:43PM UTC coverage: 17.253% (-8.5%) from 25.73%
26531437966

Pull #1607

github

web-flow
Merge 8713d05ca into bc935f39c
Pull Request #1607: Feature/ai test studio - ICDC-4165 & ICDC-4171

306 of 2599 branches covered (11.77%)

Branch coverage included in aggregate %.

1 of 4403 new or added lines in 76 files covered. (0.02%)

2 existing lines in 2 files now uncovered.

2197 of 11909 relevant lines covered (18.45%)

0.41 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/components/Stats/StatsState.generated.test.js
1
import React from 'react';
2
import { render, screen } from '@testing-library/react';
3
import StatsView from './StatsView';
4
import { StatsBar } from '../../bento-core';
5
import { updateStat } from './utils';
6
import { globalStatsData, statsStyling } from '../../bento/globalStatsData';
7

NEW
8
jest.mock('../../bento-core', () => ({
×
NEW
9
  StatsBar: jest.fn(() => <div data-testid="stats-bar" />),
×
10
}));
11

NEW
12
jest.mock('./utils', () => ({
×
13
  updateStat: jest.fn(),
14
}));
15

NEW
16
describe('StatsView', () => {
×
NEW
17
  beforeEach(() => {
×
NEW
18
    jest.clearAllMocks();
×
19
  });
20

NEW
21
  test('renders StatsBar with mapped stats and styling', () => {
×
NEW
22
    const data = [{ id: 1, name: 'sample' }];
×
23

NEW
24
    const updatedData = {
×
25
      volumeOfData: '10 TB',
26
      numberOfPrograms: 5,
27
      numberOfStudies: 12,
28
      numberOfCases: 34,
29
      numberOfSamples: 56,
30
      numberOfFiles: 78,
31
      numberOfStudyFiles: 90,
32
    };
33

NEW
34
    updateStat.mockReturnValue(updatedData);
×
35

NEW
36
    render(<StatsView data={data} />);
×
37

NEW
38
    expect(screen.getByTestId('stats-bar')).toBeTruthy();
×
NEW
39
    expect(updateStat).toHaveBeenCalledTimes(1);
×
NEW
40
    expect(updateStat).toHaveBeenCalledWith(data);
×
41

NEW
42
    expect(StatsBar).toHaveBeenCalledTimes(1);
×
43

NEW
44
    const expectedStats = globalStatsData.map(stat => ({
×
45
      name: stat.statTitle,
46
      val: updatedData[stat.statAPI],
47
      statIconSrc: stat.statIconSrc,
48
      statIconAlt: `${stat.statTitle}-icon`,
49
    }));
50

NEW
51
    expect(StatsBar).toHaveBeenCalledWith(
×
52
      {
53
        stats: expectedStats,
54
        styles: statsStyling,
55
      },
56
      {}
57
    );
58
  });
59

NEW
60
  test('passes undefined values when updateStat does not return a matching key', () => {
×
NEW
61
    updateStat.mockReturnValue({});
×
62

NEW
63
    render(<StatsView data={[]} />);
×
64

NEW
65
    const passedProps = StatsBar.mock.calls[0][0];
×
66

NEW
67
    expect(passedProps.stats).toEqual(
×
NEW
68
      globalStatsData.map(stat => ({
×
69
        name: stat.statTitle,
70
        val: undefined,
71
        statIconSrc: stat.statIconSrc,
72
        statIconAlt: `${stat.statTitle}-icon`,
73
      }))
74
    );
NEW
75
    expect(passedProps.styles).toBe(statsStyling);
×
76
  });
77
});
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc