Skip to content
Closed
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a583b4e
Add Tests for PR#3533
rohitvinnakota-codecov Mar 5, 2025
f03d566
Update tests for PR#3798 at 1741211315
rohitvinnakota-codecov Mar 5, 2025
458ba02
Update tests for PR#3798 at 1741211415
rohitvinnakota-codecov Mar 5, 2025
d16982b
This PR has been updated to add tests for #3798
rohitvinnakota-codecov Mar 5, 2025
df5f091
Update tests for PR#3798 at 1741211427
rohitvinnakota-codecov Mar 5, 2025
ba117c2
This PR has been updated to add tests for #3798
rohitvinnakota-codecov Mar 5, 2025
2f35f5c
Update tests for PR#3798 at 1741295385
rohitvinnakota-codecov Mar 6, 2025
759d479
This PR has been updated to add tests for #3798
rohitvinnakota-codecov Mar 6, 2025
49865d8
Update tests for PR#3798 at 1741295403
rohitvinnakota-codecov Mar 6, 2025
2f05c83
This PR has been updated to add tests for #3798
rohitvinnakota-codecov Mar 6, 2025
099adde
Update tests for PR#3798 at 1741295421
rohitvinnakota-codecov Mar 6, 2025
49f7493
This PR has been updated to add tests for #3798
rohitvinnakota-codecov Mar 6, 2025
50874d4
Update tests for PR#3798 at 1741295439
rohitvinnakota-codecov Mar 6, 2025
4fa59f7
This PR has been updated to add tests for #3798
rohitvinnakota-codecov Mar 6, 2025
845919f
Update tests for PR#3798 at 1742221069
rohitvinnakota-codecov Mar 17, 2025
ff3f230
This PR has been updated to add tests for #3798
rohitvinnakota-codecov Mar 17, 2025
a0bf774
Update tests for PR#3798 at 1742221084
rohitvinnakota-codecov Mar 17, 2025
a704d90
This PR has been updated to add tests for #3798
rohitvinnakota-codecov Mar 17, 2025
c9e0050
Update tests for PR#3798 at 1742221100
rohitvinnakota-codecov Mar 17, 2025
cb03c23
This PR has been updated to add tests for #3798
rohitvinnakota-codecov Mar 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -869,6 +869,15 @@
errors: [],
},
],
// Provider with upload that doesn't have downloadUrl
'github': [
{
id: 5,
name: 'github-upload',
provider: 'github',
// No downloadUrl property
}
],
circleci: [
{
id: 3,
Expand All @@ -887,6 +896,96 @@
},
{
id: 4,
name: 'circleci-upload-long-filename',
state: 'PROCESSED',
provider: 'circleci',
createdAt: '2020-08-28T16:36:19.559474+00:00',
updatedAt: '2020-08-28T16:36:19.679868+00:00',
flags: [],
downloadUrl: '/download/circleci/very/long/path/to/file.txt',
ciUrl: 'https://circleci.com/job/2',
uploadType: 'UPLOADED',
jobCode: 'job4',
buildCode: 'build4',
errors: [],
},
],
},
name: 'circleci-upload-long-filename',
state: 'PROCESSED',
provider: 'circleci',
createdAt: '2020-08-28T16:36:19.559474+00:00',
updatedAt: '2020-08-28T16:36:19.679868+00:00',
flags: [],
downloadUrl: '/download/circleci/very/long/path/to/file.txt',
ciUrl: 'https://circleci.com/job/2',
uploadType: 'UPLOADED',
jobCode: 'job4',
buildCode: 'build4',
errors: [],
},
],

Check failure on line 927 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

Argument expression expected.

Check failure on line 927 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

Argument expression expected.

Check failure on line 927 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

Argument expression expected.

Check failure on line 927 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

Argument expression expected.

Check failure on line 927 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

Argument expression expected.

Check failure on line 927 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

Argument expression expected.
},

Check failure on line 928 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

Argument expression expected.

Check failure on line 928 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

Argument expression expected.

Check failure on line 928 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

Argument expression expected.
name: 'circleci-upload-long-filename',

Check failure on line 929 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

',' expected.

Check failure on line 929 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

',' expected.

Check failure on line 929 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

',' expected.
state: 'PROCESSED',

Check failure on line 930 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

',' expected.

Check failure on line 930 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

',' expected.

Check failure on line 930 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

',' expected.
provider: 'circleci',

Check failure on line 931 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

',' expected.

Check failure on line 931 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

',' expected.

Check failure on line 931 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

',' expected.
createdAt: '2020-08-28T16:36:19.559474+00:00',

Check failure on line 932 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

',' expected.

Check failure on line 932 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

',' expected.

Check failure on line 932 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

',' expected.
updatedAt: '2020-08-28T16:36:19.679868+00:00',

Check failure on line 933 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

',' expected.

Check failure on line 933 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

',' expected.

Check failure on line 933 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

',' expected.
flags: [],

Check failure on line 934 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

',' expected.

Check failure on line 934 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

',' expected.

Check failure on line 934 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

',' expected.
downloadUrl: '/download/circleci/very/long/path/to/file.txt',

Check failure on line 935 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Run Type Checker

',' expected.

Check failure on line 935 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Production

',' expected.

Check failure on line 935 in src/pages/CommitDetailPage/CommitCoverage/UploadsCard/UploadsCard.test.tsx

View workflow job for this annotation

GitHub Actions / Upload Bundle Stats - Staging

',' expected.
ciUrl: 'https://circleci.com/job/2',
uploadType: 'UPLOADED',
jobCode: 'job4',
buildCode: 'build4',
errors: [],
},
],
},
name: 'circleci-upload-long-filename',
state: 'PROCESSED',
provider: 'circleci',
createdAt: '2020-08-28T16:36:19.559474+00:00',
updatedAt: '2020-08-28T16:36:19.679868+00:00',
flags: [],
downloadUrl: '/download/circleci/very/long/path/to/file.txt',
ciUrl: 'https://circleci.com/job/2',
uploadType: 'UPLOADED',
jobCode: 'job4',
buildCode: 'build4',
errors: [],
},
],
},
name: 'circleci-upload-long-filename',
state: 'PROCESSED',
provider: 'circleci',
createdAt: '2020-08-28T16:36:19.559474+00:00',
updatedAt: '2020-08-28T16:36:19.679868+00:00',
flags: [],
downloadUrl: '/download/circleci/very/long/path/to/file.txt',
ciUrl: 'https://circleci.com/job/2',
uploadType: 'UPLOADED',
jobCode: 'job4',
buildCode: 'build4',
errors: [],
},
],
},
name: 'circleci-upload-long-filename',
state: 'PROCESSED',
provider: 'circleci',
createdAt: '2020-08-28T16:36:19.559474+00:00',
updatedAt: '2020-08-28T16:36:19.679868+00:00',
flags: [],
downloadUrl: '/download/circleci/very/long/path/to/file.txt',
ciUrl: 'https://circleci.com/job/2',
uploadType: 'UPLOADED',
jobCode: 'job4',
buildCode: 'build4',
errors: [],
},
],
},
name: 'circleci-upload-2',
state: 'PROCESSED',
provider: 'circleci',
Expand Down Expand Up @@ -1004,4 +1103,117 @@
expect(travisUploadCheckboxTwo).not.toBeChecked()
})
})

describe('Download functionality', () => {
beforeEach(() => {
setup({
uploadsProviderList: ['travis', 'circleci'],
uploadsOverview: 'uploads overview',
groupedUploads: {
travis: [
{
id: 1,
name: 'travis-upload-1',
state: 'PROCESSED',
provider: 'travis',
createdAt: '2020-08-25T16:36:19.559474+00:00',
updatedAt: '2020-08-25T16:36:19.679868+00:00',
flags: [],
downloadUrl: '/download/travis1',
ciUrl: 'https://travis-ci.com/job/1',
uploadType: 'UPLOADED',
jobCode: 'job1',
buildCode: 'build1',
errors: [],
},
{
id: 2,
name: 'travis-upload-2',
state: 'PROCESSED',
provider: 'travis',
createdAt: '2020-08-26T16:36:19.559474+00:00',
updatedAt: '2020-08-26T16:36:19.679868+00:00',
flags: [],
downloadUrl: '/download/travis2',
ciUrl: 'https://travis-ci.com/job/2',
uploadType: 'UPLOADED',
jobCode: 'job2',
buildCode: 'build2',
errors: [],
},
],
// Provider with upload that doesn't have downloadUrl
'github': [
{
id: 5,
name: 'github-upload',
provider: 'github',
// No downloadUrl property
}
],
circleci: [
{
id: 3,
name: 'circleci-upload-1',
state: 'PROCESSED',
provider: 'circleci',
createdAt: '2020-08-27T16:36:19.559474+00:00',
updatedAt: '2020-08-27T16:36:19.679868+00:00',
flags: [],
downloadUrl: '/download/circleci1',
ciUrl: 'https://circleci.com/job/1',
uploadType: 'UPLOADED',
jobCode: 'job3',
buildCode: 'build3',
errors: [],
},
],
},
erroredUploads: {},
flagErrorUploads: {},
searchResults: [],
hasNoUploads: false,
})

// Mock document.createElement and related DOM APIs
document.createElement = vi.fn().mockImplementation((tag) => {
if (tag === 'a') {
return {
href: '',
setAttribute: vi.fn(),
click: vi.fn(),
}
}
return {}
})
document.body.appendChild = vi.fn()
document.body.removeChild = vi.fn()
window.URL.revokeObjectURL = vi.fn()

// Mock fetch to return a blob
mockFetch.mockResolvedValue({
blob: () => Promise.resolve(new Blob(['test content'], { type: 'text/plain' })),
})
})

it('renders download buttons for each provider group', () => {
render(<UploadsCard />, { wrapper })

const downloadButtons = screen.getAllByText('Download')
expect(downloadButtons.length).toBe(2) // One for travis and one for circleci
})

it('initiates downloads when the Download button is clicked', async () => {
const user = userEvent.setup()
render(<UploadsCard />, { wrapper })

const downloadButtons = screen.getAllByText('Download')
await user.click(downloadButtons[0]) // Click the first download button (travis)

// Expect fetch to be called for each upload in the provider group
expect(mockFetch).toHaveBeenCalledTimes(2)
expect(mockFetch).toHaveBeenCalledWith('/download/travis1', { headers: { 'Content-Type': 'text/plain' } })
expect(mockFetch).toHaveBeenCalledWith('/download/travis2', { headers: { 'Content-Type': 'text/plain' } })
})
})
})
Loading