diff --git a/CHANGELOG.md b/CHANGELOG.md
index a2170fe5..f515e77e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
* Migrate from `mod-circulation` to `mod-circulation-bff` for `Print pick slips` and `Print search slips`. Refs UIREQ-1154.
* Add optional column "Retrieval service point" to requests search list. Refs UIREQ-1188.
+* Increase code coverage for src/ChooseRequestTypeDialog.js by Jest/RTL tests. Refs UIREQ-1044.
## [11.0.1] (https://github.com/folio-org/ui-requests/tree/v11.0.1) (2024-12-02)
[Full Changelog](https://github.com/folio-org/ui-requests/compare/v11.0.0...v11.0.1)
diff --git a/src/ChooseRequestTypeDialog.js b/src/ChooseRequestTypeDialog.js
index 02ddabd2..c95ccb65 100644
--- a/src/ChooseRequestTypeDialog.js
+++ b/src/ChooseRequestTypeDialog.js
@@ -81,6 +81,7 @@ class ChooseRequestTypeDialog extends React.Component {
{isLoading ?
:
}
name="requestType"
onChange={this.selectRequestType}
diff --git a/src/ChooseRequestTypeDialog.test.js b/src/ChooseRequestTypeDialog.test.js
index f202281d..05363a73 100644
--- a/src/ChooseRequestTypeDialog.test.js
+++ b/src/ChooseRequestTypeDialog.test.js
@@ -1,6 +1,7 @@
import {
render,
screen,
+ fireEvent,
} from '@folio/jest-config-stripes/testing-library/react';
import { Button } from '@folio/stripes/components';
@@ -23,9 +24,12 @@ jest.mock('./utils', () => ({
const labelIds = {
chooseRequestType: 'ui-requests.moveRequest.chooseRequestType',
+ confirmButtonLabel: 'ui-requests.moveRequest.confirm',
+ requestTypeError: 'ui-requests.moveRequest.error.itemLevelRequest',
};
const testIds = {
loading: 'loading',
+ requestType: 'requestType',
};
describe('ChooseRequestTypeDialog', () => {
@@ -85,6 +89,38 @@ describe('ChooseRequestTypeDialog', () => {
it('should not render Loading component', () => {
expect(screen.queryByTestId(testIds.loading)).not.toBeInTheDocument();
});
+
+ it('should handle confirmation after changing request type', () => {
+ const requestType = screen.getByTestId(testIds.requestType);
+ const confirmButton = screen.getByText(labelIds.confirmButtonLabel);
+ const event = {
+ target: {
+ value: '',
+ },
+ };
+
+ fireEvent.change(requestType, event);
+ fireEvent.click(confirmButton);
+
+ expect(mockOnConfirm).toHaveBeenCalledWith(event.target.value);
+ });
+ });
+
+ describe('When request type is not provided', () => {
+ const props = {
+ ...defaultTestProps,
+ requestTypes: [],
+ };
+
+ beforeEach(() => {
+ render();
+ });
+
+ it('should render request type error', () => {
+ const requestTypeError = screen.getByText(labelIds.requestTypeError);
+
+ expect(requestTypeError).toBeInTheDocument();
+ });
});
describe('when isLoading is true', () => {
diff --git a/test/jest/__mock__/stripesComponents.mock.js b/test/jest/__mock__/stripesComponents.mock.js
index 7e2ec9d1..a42a860f 100644
--- a/test/jest/__mock__/stripesComponents.mock.js
+++ b/test/jest/__mock__/stripesComponents.mock.js
@@ -180,6 +180,7 @@ jest.mock('@folio/stripes/components', () => ({
+ {props.error}
)),
TextArea: jest.fn(({
'data-testid': testId,