diff --git a/test/frontend/__setup__/server.js b/test/frontend/__setup__/server.js index f51597850..bbb3c222a 100644 --- a/test/frontend/__setup__/server.js +++ b/test/frontend/__setup__/server.js @@ -37,6 +37,9 @@ export const server = setupServer( const { names } = req.params; const foundSettings = settings.filter(name => names.replace(/[[\]']/g, '').split(',').includes(name)); return res(ctx.json(foundSettings)); + }), + rest.patch('/api/settings/bulk_update', (req, res, ctx) => { + return res(ctx.json(req.body)); }) ); diff --git a/test/frontend/components/accounting/accounting-codes-settings.test.js b/test/frontend/components/accounting/accounting-codes-settings.test.js new file mode 100644 index 000000000..be6e881db --- /dev/null +++ b/test/frontend/components/accounting/accounting-codes-settings.test.js @@ -0,0 +1,19 @@ +import React from 'react'; +import { AccountingCodesSettings } from 'components/accounting/accounting-codes-settings'; +import { render, fireEvent, waitFor, screen } from '@testing-library/react'; +import '@testing-library/jest-dom'; + +describe('AccountingCodesSettings', () => { + const onSuccess = jest.fn(message => {}); + const onError = jest.fn(e => {}); + + test('render AccountingCodesSettings', async () => { + render(); + await waitFor(() => screen.getByRole('heading', { name: /app.admin.accounting_codes_settings.advanced_accounting/ })); + expect(screen.getByLabelText(/app.admin.accounting_codes_settings.enable_advanced/)).toBeInTheDocument(); + expect(screen.getByLabelText(/app.admin.accounting_codes_settings.journal_code/)).toBeInTheDocument(); + expect(screen.getAllByLabelText(/app.admin.accounting_codes_settings.code/)).toHaveLength(13); + expect(screen.getAllByLabelText(/app.admin.accounting_codes_settings.label/)).toHaveLength(13); + expect(screen.getByRole('button', { name: /app.admin.accounting_codes_settings.save/ })).toBeInTheDocument(); + }); +});