• 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/PaginatedTable/Customize/components/DeleteButton.generated.test.jsx
1
// src/components/PaginatedTable/Customize/components/DeleteButton.generated.test.jsx
2
import React from 'react';
3
import { render, screen, fireEvent } from '@testing-library/react';
4
import DeleteButton from './DeleteButton';
5

6
// Import the asset so our expectation matches whatever moduleNameMapper provides
7
import mockedDeleteIcon from '../../assets/deleteIcon.svg';
8

NEW
9
describe('DeleteButton', () => {
×
NEW
10
  it('renders the delete icon button and image with correct alt and a deterministic src', () => {
×
NEW
11
    render(
×
12
      <DeleteButton
13
        row={{ id: 1 }}
14
        onDeleteRow={jest.fn()}
15
        deleteCartFile={jest.fn()}
16
      />
17
    );
18

NEW
19
    const button = screen.getByRole('button', { name: /delete/i });
×
NEW
20
    expect(button).toBeTruthy();
×
21

NEW
22
    const img = screen.getByAltText('delete');
×
NEW
23
    expect(img).toBeTruthy();
×
NEW
24
    expect(img.getAttribute('src')).toBe(mockedDeleteIcon);
×
25
  });
26

NEW
27
  it('calls deleteCartFile with row and onDeleteRow when clicked (happy path)', () => {
×
NEW
28
    const row = { id: 'row-123' };
×
NEW
29
    const onDeleteRow = jest.fn();
×
NEW
30
    const deleteCartFile = jest.fn();
×
31

NEW
32
    render(
×
33
      <DeleteButton
34
        row={row}
35
        onDeleteRow={onDeleteRow}
36
        deleteCartFile={deleteCartFile}
37
      />
38
    );
39

NEW
40
    const button = screen.getByRole('button', { name: /delete/i });
×
NEW
41
    fireEvent.click(button);
×
42

NEW
43
    expect(deleteCartFile).toHaveBeenCalledTimes(1);
×
NEW
44
    expect(deleteCartFile).toHaveBeenCalledWith(row, onDeleteRow);
×
45
  });
46

NEW
47
  it('passes undefined row to deleteCartFile when row is not provided (edge case)', () => {
×
NEW
48
    const onDeleteRow = jest.fn();
×
NEW
49
    const deleteCartFile = jest.fn();
×
50

NEW
51
    render(
×
52
      <DeleteButton onDeleteRow={onDeleteRow} deleteCartFile={deleteCartFile} />
53
    );
54

NEW
55
    const button = screen.getByRole('button', { name: /delete/i });
×
NEW
56
    fireEvent.click(button);
×
57

NEW
58
    expect(deleteCartFile).toHaveBeenCalledTimes(1);
×
NEW
59
    expect(deleteCartFile).toHaveBeenCalledWith(undefined, onDeleteRow);
×
60
  });
61

NEW
62
  it('passes undefined onDeleteRow to deleteCartFile when onDeleteRow is not provided (edge case)', () => {
×
NEW
63
    const row = { id: 'row-xyz' };
×
NEW
64
    const deleteCartFile = jest.fn();
×
65

NEW
66
    render(<DeleteButton row={row} deleteCartFile={deleteCartFile} />);
×
67

NEW
68
    const button = screen.getByRole('button', { name: /delete/i });
×
NEW
69
    fireEvent.click(button);
×
70

NEW
71
    expect(deleteCartFile).toHaveBeenCalledTimes(1);
×
NEW
72
    expect(deleteCartFile).toHaveBeenCalledWith(row, undefined);
×
73
  });
74

NEW
75
  it('renders without crashing when deleteCartFile is missing', () => {
×
NEW
76
    const row = { id: 'row-error' };
×
NEW
77
    const onDeleteRow = jest.fn();
×
78

NEW
79
    render(<DeleteButton row={row} onDeleteRow={onDeleteRow} />);
×
80

NEW
81
    const button = screen.getByRole('button', { name: /delete/i });
×
NEW
82
    expect(button).toBeTruthy();
×
83
  });
84
});
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