unit test fixes
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 44m36s
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 44m36s
This commit is contained in:
@@ -24,14 +24,19 @@ describe('AdminBrandManager', () => {
|
||||
vi.clearAllMocks();
|
||||
});
|
||||
|
||||
it('should render a loading state initially', async () => {
|
||||
// Mock a pending promise that never resolves to keep it in a loading state
|
||||
it('should render a loading state initially', () => {
|
||||
console.log('TEST START: should render a loading state initially');
|
||||
// Mock a promise that never resolves to keep the component in a loading state.
|
||||
console.log('TEST SETUP: Mocking fetchAllBrands with a non-resolving promise.');
|
||||
mockedApiClient.fetchAllBrands.mockReturnValue(new Promise(() => {}));
|
||||
|
||||
console.log('TEST ACTION: Rendering AdminBrandManager component.');
|
||||
render(<AdminBrandManager />);
|
||||
|
||||
// The loading state should be visible
|
||||
console.log('TEST ASSERTION: Checking for the loading text.');
|
||||
expect(screen.getByText('Loading brands...')).toBeInTheDocument();
|
||||
console.log('TEST SUCCESS: Loading text is visible.');
|
||||
console.log('TEST END: should render a loading state initially');
|
||||
});
|
||||
|
||||
|
||||
@@ -219,16 +224,20 @@ describe('AdminBrandManager', () => {
|
||||
|
||||
it('should show an error toast if no file is selected', async () => {
|
||||
console.log('TEST START: should show an error toast if no file is selected');
|
||||
console.log('TEST SETUP: Mocking fetchAllBrands to resolve successfully.');
|
||||
mockedApiClient.fetchAllBrands.mockImplementation(
|
||||
async () => new Response(JSON.stringify(mockBrands), { status: 200 })
|
||||
);
|
||||
render(<AdminBrandManager />);
|
||||
console.log('TEST ACTION: Waiting for initial brands to render.');
|
||||
await waitFor(() => expect(screen.getByText('No Frills')).toBeInTheDocument());
|
||||
|
||||
const input = screen.getByLabelText('Upload logo for No Frills');
|
||||
// Simulate canceling the file picker by firing a change event with no files
|
||||
fireEvent.change(input, { target: { files: null } });
|
||||
// Simulate canceling the file picker by firing a change event with an empty file list.
|
||||
console.log('TEST ACTION: Firing file change event with an empty file list.');
|
||||
fireEvent.change(input, { target: { files: [] } });
|
||||
|
||||
console.log('TEST ASSERTION: Waiting for the "no file selected" error toast.');
|
||||
await waitFor(() => {
|
||||
expect(mockedToast.error).toHaveBeenCalledWith('Please select a file to upload.');
|
||||
console.log('TEST SUCCESS: Error toast shown when no file is selected.');
|
||||
|
||||
Reference in New Issue
Block a user