Skip to content

Commit

Permalink
feat: updated tests
Browse files Browse the repository at this point in the history
  • Loading branch information
pranavkparti committed Aug 17, 2023
1 parent c1e2db1 commit 4d0a1a1
Show file tree
Hide file tree
Showing 5 changed files with 61 additions and 16 deletions.
15 changes: 10 additions & 5 deletions src/pages/MyTransfers/MyTransfers.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,11 @@ const mockTransfersData = {
token_count: 1,
},
],
query: {
limit: 200,
offset: 0,
},
total: 3,
};

const TestWrapper = (props) => {
Expand All @@ -82,14 +87,14 @@ const TestWrapper = (props) => {
);
};

describe('My Transfers page', function () {
describe('My Transfers page', function() {
beforeEach(() => {
localStorage.setItem(
'wallet',
JSON.stringify({
id: '9d6c674f-ae62-4fab-8d14-ae5de9f14ab8',
wallet: 'test wallet',
})
}),
);
});

Expand All @@ -103,18 +108,18 @@ describe('My Transfers page', function () {
render(
<TestWrapper>
<MyTransfers />
</TestWrapper>
</TestWrapper>,
);

expect(await screen.findByTestId('table-pagination')).toBeInTheDocument();
expect(await screen.findByTestId('transfers-table')).toBeInTheDocument();
expect(await screen.findByTestId('date-range-filter')).toBeInTheDocument();
expect(
await screen.findByTestId('transfer-status-filter')
await screen.findByTestId('transfer-status-filter'),
).toBeInTheDocument();

await waitFor(() => {
expect(screen.getAllByRole('row')).toHaveLength(3 + 1);
expect(screen.getAllByRole('row')).toHaveLength(mockTransfersData.total + 1);
});
});
});
1 change: 1 addition & 0 deletions src/pages/MyTransfers/TableFilters.js
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ export const ResetButton = ({ setFilter, defaultFilter }) => {
type='submit'
variant='contained'
color='primary'
data-testid='reset-filters'
>
Reset
</FilterResetButton>
Expand Down
40 changes: 40 additions & 0 deletions src/pages/MyTransfers/TableFilters.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,48 @@ describe('Transfers table header', () => {
await screen.findByRole('dialog', { hidden: true });
});

it('Date range filter errors work correctly', async () => {
render(
<TestWrapper>
<DateRangeFilter filter={mockFilter} setFilter={setMockFilter} />
</TestWrapper>,
);

const button = screen.getByRole('button');
userEvent.click(button);

// test typing invalid date
const dateTextbox = screen.getByRole('textbox', { name: 'Start date' });
userEvent.type(dateTextbox, '08200003');
expect(dateTextbox.value).toBe('08/20/0003');

expect(screen.getByText(/Invalid Date/)).toBeInTheDocument();

const okButton = screen.getByRole('button', { name: 'OK' });
expect(okButton).toBeDisabled();

// entering valid date re-enables the OK button
userEvent.type(dateTextbox, '08201998');
expect(okButton).toBeEnabled();
});

it('Reset filters button renders correctly', () => {

mockFilter = {
state: 'Requested',
wallet: 'testwallet',
before: '1993-08-10',
after: '1993-08-01',
};

render(<ResetButton setFilter={setMockFilter} defaultFilter={mockDefaultFilter} />);

expect(screen.getAllByRole('button')).toHaveLength(1);
expect(screen.getByRole('button', { name: /Reset/ })).toBeInTheDocument();

const resetButton = screen.getByRole('button');
userEvent.click(resetButton);

expect(mockFilter).toEqual(mockDefaultFilter);
});
});
19 changes: 10 additions & 9 deletions src/pages/MyTransfers/TransfersTable.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ describe('Transfers Table', () => {
JSON.stringify({
id: '9d6c674f-ae62-4fab-8d14-ae5de9f14ab8',
wallet: 'test wallet',
})
}),
);
});

Expand All @@ -57,19 +57,20 @@ describe('Transfers Table', () => {
<TransfersTable
tableTitle={'My Transfers'}
tableRows={mockTableRows}
totalRowCount={3}
totalRowCount={mockTableRows.length}
/>
</TestWrapper>
</TestWrapper>,
);

expect(await screen.findByTestId('table-pagination')).toBeInTheDocument();
https: expect(
await screen.findByTestId('transfers-table')
expect(
await screen.findByTestId('transfers-table'),
).toBeInTheDocument();
expect(await screen.findByTestId('date-range-filter')).toBeInTheDocument();
expect(
await screen.findByTestId('transfer-status-filter')
await screen.findByTestId('transfer-status-filter'),
).toBeInTheDocument();
expect(await screen.findByTestId('reset-filters')).toBeInTheDocument();

await waitFor(() => {
expect(screen.getAllByRole('row')).toHaveLength(3 + 1);
Expand All @@ -79,13 +80,13 @@ describe('Transfers Table', () => {

expect(await screen.findByTestId('table-pagination')).toBeInTheDocument();
expect(
screen.getByRole('button', { name: 'Rows per page: 10' })
screen.getByRole('button', { name: /Rows per page/ }),
).toBeInTheDocument();
expect(
screen.getByRole('button', { name: 'Go to previous page' })
screen.getByRole('button', { name: 'Go to previous page' }),
).toBeInTheDocument();
expect(
screen.getByRole('button', { name: 'Go to next page' })
screen.getByRole('button', { name: 'Go to next page' }),
).toBeInTheDocument();
});
});
2 changes: 0 additions & 2 deletions src/store/TransfersContext.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,6 @@ const TransfersProvider = ({ children }) => {
prepareRows,
};

console.log('filterss', filter);

return (
<TransfersContext.Provider value={value}>
{children}
Expand Down

0 comments on commit 4d0a1a1

Please sign in to comment.