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

CBIIT / bento-icdc-frontend / 26530955228

27 May 2026 06:34PM UTC coverage: 17.321% (-8.4%) from 25.73%
26530955228

Pull #1607

github

web-flow
Merge 361b68ce9 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 4346 new or added lines in 75 files covered. (0.02%)

2 existing lines in 2 files now uncovered.

2197 of 11852 relevant lines covered (18.54%)

0.41 hits per line

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

0.0
/src/components/header/HeaderTheme.generated.test.js
1
// src/components/header/HeaderTheme.generated.test.js
2
import React from 'react';
3
import { render, screen } from '@testing-library/react';
4
import { useTheme } from '@material-ui/core/styles';
5
import HeaderThemeProvider from './HeaderTheme';
6

NEW
7
jest.mock('../../assets/header/Vector.svg', () => 'mock-vector.svg');
×
NEW
8
jest.mock(
×
9
  '../../assets/header/global_search_input_find.svg',
NEW
10
  () => 'mock-search.svg'
×
11
);
12

NEW
13
describe('HeaderThemeProvider', () => {
×
14
  let consoleErrorSpy;
15

NEW
16
  beforeEach(() => {
×
NEW
17
    consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {});
×
18
  });
19

NEW
20
  afterEach(() => {
×
NEW
21
    consoleErrorSpy.mockRestore();
×
22
  });
23

NEW
24
  const ThemeProbe = () => {
×
NEW
25
    const theme = useTheme();
×
26

NEW
27
    const svgIconBg = theme.overrides?.MuiSvgIcon?.root?.backgroundImage;
×
28
    const vectorBg =
NEW
29
      theme.overrides?.MuiAutocomplete?.listbox?.['& li']?.[
×
30
        '&:nth-last-child(1)'
31
      ]?.['& span']?.backgroundImage;
NEW
32
    const paperZIndex = theme.overrides?.MuiPaper?.root?.zIndex;
×
33
    const inputAdornedEndHeight =
NEW
34
      theme.overrides?.MuiOutlinedInput?.inputAdornedEnd?.height;
×
35

NEW
36
    return (
×
37
      <div
38
        data-testid="theme-probe"
39
        data-svgicon-bg={svgIconBg}
40
        data-vector-bg={vectorBg}
41
        data-paper-z={paperZIndex}
42
        data-input-adorned-end-height={inputAdornedEndHeight}
43
      />
44
    );
45
  };
46

NEW
47
  const EdgeProbe = () => {
×
NEW
48
    const theme = useTheme();
×
49

50
    const gridHeaderZ =
NEW
51
      theme.overrides?.MuiGrid?.container?.['& div#header']?.zIndex;
×
NEW
52
    const textFieldWidth = theme.overrides?.MuiTextField?.root?.width;
×
53
    const autocompletePaperRadius =
NEW
54
      theme.overrides?.MuiAutocomplete?.paper?.borderRadius;
×
NEW
55
    const inputBaseFont = theme.overrides?.MuiInputBase?.root?.fontFamily;
×
56

NEW
57
    return (
×
58
      <div
59
        data-testid="edge-probe"
60
        data-grid-header-z={String(gridHeaderZ)}
61
        data-textfield-width={textFieldWidth}
62
        data-autocomplete-paper-radius={autocompletePaperRadius}
63
        data-inputbase-font={inputBaseFont}
64
      />
65
    );
66
  };
67

NEW
68
  it('renders children inside the provider', () => {
×
NEW
69
    render(
×
70
      <HeaderThemeProvider>
71
        <span data-testid="child">Hello</span>
72
      </HeaderThemeProvider>
73
    );
74

NEW
75
    expect(screen.getByTestId('child').textContent).toBe('Hello');
×
76
  });
77

NEW
78
  it('exposes the expected theme overrides and asset URLs', () => {
×
NEW
79
    render(
×
80
      <HeaderThemeProvider>
81
        <ThemeProbe />
82
      </HeaderThemeProvider>
83
    );
84

NEW
85
    const probe = screen.getByTestId('theme-probe');
×
86

NEW
87
    expect(probe.getAttribute('data-svgicon-bg')).toBe('url(mock-search.svg)');
×
NEW
88
    expect(probe.getAttribute('data-vector-bg')).toMatch(
×
89
      /^url\(mock-(vector|search)\.svg\)$/
90
    );
NEW
91
    expect(probe.getAttribute('data-paper-z')).toBe('900');
×
NEW
92
    expect(probe.getAttribute('data-input-adorned-end-height')).toBe('35px');
×
93
  });
94

NEW
95
  it('renders safely when children is null', () => {
×
NEW
96
    const { container } = render(
×
97
      <HeaderThemeProvider>{null}</HeaderThemeProvider>
98
    );
99

NEW
100
    expect(container).toBeTruthy();
×
NEW
101
    expect(container.innerHTML).toBe('');
×
102
  });
103

NEW
104
  it('keeps the main structural theme overrides intact', () => {
×
NEW
105
    render(
×
106
      <HeaderThemeProvider>
107
        <EdgeProbe />
108
      </HeaderThemeProvider>
109
    );
110

NEW
111
    const probe = screen.getByTestId('edge-probe');
×
112

NEW
113
    expect(probe.getAttribute('data-grid-header-z')).toBe('0');
×
NEW
114
    expect(probe.getAttribute('data-textfield-width')).toBe('260px');
×
NEW
115
    expect(probe.getAttribute('data-autocomplete-paper-radius')).toBe('8px');
×
NEW
116
    expect(probe.getAttribute('data-inputbase-font')).toBe('Open Sans');
×
117
  });
118

NEW
119
  it('does not throw when rendered without a children prop', () => {
×
NEW
120
    expect(() => render(<HeaderThemeProvider />)).not.toThrow();
×
121
  });
122
});
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