({
control={control}
render={({ field: { onChange } }) => (
<>
- {itemSettingsOptionsByInputType[inputType]?.map(({ groupName, groupOptions, collapsedByDefault }) => (
-
- ))}
+ {itemSettingsOptionsByInputType[inputType]?.map(
+ ({ groupName, groupOptions, collapsedByDefault }) => (
+
+ ),
+ )}
>
)}
/>
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsController/ItemSettingsGroup/ItemSettingsGroup.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsController/ItemSettingsGroup/ItemSettingsGroup.tsx
index 13ef46707c..b81dc8008e 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsController/ItemSettingsGroup/ItemSettingsGroup.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsController/ItemSettingsGroup/ItemSettingsGroup.tsx
@@ -63,7 +63,10 @@ export const ItemSettingsGroup = ({
const handleCollapse = () => setIsExpanded((prevExpanded) => !prevExpanded);
const handleTimerChange = (event: SelectEvent) => {
- setValue(`${name}.${ItemConfigurationSettings.HasTimer}`, +event.target.value || DEFAULT_ACTIVE_TIMER_VALUE);
+ setValue(
+ `${name}.${ItemConfigurationSettings.HasTimer}`,
+ +event.target.value || DEFAULT_ACTIVE_TIMER_VALUE,
+ );
};
return (
@@ -93,16 +96,19 @@ export const ItemSettingsGroup = ({
inputType === ItemResponseType.MultipleSelectionPerRow;
const isTimer = settingKey === ItemConfigurationSettings.HasTimer;
const isTextInput = settingKey === ItemConfigurationSettings.HasTextInput;
- const isTextInputRequired = settingKey === ItemConfigurationSettings.IsTextInputRequired;
+ const isTextInputRequired =
+ settingKey === ItemConfigurationSettings.IsTextInputRequired;
const isSkippableItem = settingKey === ItemConfigurationSettings.IsSkippable;
- const isCorrectAnswerRequired = settingKey === ItemConfigurationSettings.IsCorrectAnswerRequired;
+ const isCorrectAnswerRequired =
+ settingKey === ItemConfigurationSettings.IsCorrectAnswerRequired;
const isScores = settingKey === ItemConfigurationSettings.HasScores;
const isAlerts = settingKey === ItemConfigurationSettings.HasAlerts;
const isColorPalette = settingKey === ItemConfigurationSettings.HasColorPalette;
const hasTextInput = get(config, ItemConfigurationSettings.HasTextInput);
const hasResponseRequired = checkIfItemHasRequiredOptions(config);
- const isDisabled = (isTextInputRequired && !hasTextInput) || (isSkippableItem && hasResponseRequired);
+ const isDisabled =
+ (isTextInputRequired && !hasTextInput) || (isSkippableItem && hasResponseRequired);
const isSecondsDisabled = isTimer && !get(config, ItemConfigurationSettings.HasTimer);
const hasTooltip = ITEM_SETTINGS_TO_HAVE_TOOLTIP.includes(settingKey);
@@ -113,7 +119,9 @@ export const ItemSettingsGroup = ({
if (isTimer)
return onChange({
...config,
- [settingKey]: event.target.checked ? DEFAULT_TIMER_VALUE : DEFAULT_DISABLED_TIMER_VALUE,
+ [settingKey]: event.target.checked
+ ? DEFAULT_TIMER_VALUE
+ : DEFAULT_DISABLED_TIMER_VALUE,
});
if (settingKey === ItemConfigurationSettings.IsResponseRequired) {
@@ -126,7 +134,8 @@ export const ItemSettingsGroup = ({
if (isTextInput || isTextInputRequired) {
const [prefix, postfix] = settingKey.split('.');
- const [, textInputRequired] = ItemConfigurationSettings.IsTextInputRequired.split('.');
+ const [, textInputRequired] =
+ ItemConfigurationSettings.IsTextInputRequired.split('.');
const value = event.target.checked;
return onChange({
@@ -165,10 +174,12 @@ export const ItemSettingsGroup = ({
setValue(
`${itemName}.responseValues.options`,
- getValues(`${itemName}.responseValues.options`)?.map((option: SingleAndMultiSelectOption) => ({
- ...option,
- color: undefined,
- })),
+ getValues(`${itemName}.responseValues.options`)?.map(
+ (option: SingleAndMultiSelectOption) => ({
+ ...option,
+ color: undefined,
+ }),
+ ),
);
setValue(`${itemName}.responseValues.paletteName`, undefined);
}
@@ -205,23 +216,31 @@ export const ItemSettingsGroup = ({
case ItemResponseType.Slider:
return setValue(
`${itemName}.responseValues.scores`,
- hasScores ? getDefaultSliderScores(getValues(`${itemName}.responseValues`)) : undefined,
+ hasScores
+ ? getDefaultSliderScores(getValues(`${itemName}.responseValues`))
+ : undefined,
);
case ItemResponseType.SingleSelection:
case ItemResponseType.MultipleSelection:
return setValue(
`${itemName}.responseValues.options`,
- getValues(`${itemName}.responseValues.options`)?.map((option: SingleAndMultiSelectOption) => ({
- ...option,
- score: hasScores ? DEFAULT_SCORE_VALUE : undefined,
- })),
+ getValues(`${itemName}.responseValues.options`)?.map(
+ (option: SingleAndMultiSelectOption) => ({
+ ...option,
+ score: hasScores ? DEFAULT_SCORE_VALUE : undefined,
+ }),
+ ),
);
}
}
if ((isScores || isAlerts) && isMultiOrSingleRows) {
- const hasScores = isScores ? event.target.checked : get(config, ItemConfigurationSettings.HasScores);
- const hasAlerts = isAlerts ? event.target.checked : get(config, ItemConfigurationSettings.HasAlerts);
+ const hasScores = isScores
+ ? event.target.checked
+ : get(config, ItemConfigurationSettings.HasScores);
+ const hasAlerts = isAlerts
+ ? event.target.checked
+ : get(config, ItemConfigurationSettings.HasAlerts);
const dataMatrix = getValues(`${itemName}.responseValues.dataMatrix`);
@@ -236,17 +255,22 @@ export const ItemSettingsGroup = ({
: undefined;
const newMatrix =
updatedMatrix ??
- getValues(`${itemName}.responseValues.rows`)?.map((row: SingleAndMultipleSelectRow) => ({
- rowId: row.id,
- options: getValues(`${itemName}.responseValues.options`)?.map(
- (option: SingleAndMultiSelectRowOption) => ({
- optionId: option.id,
- ...(hasScores && { score: DEFAULT_SCORE_VALUE }),
- }),
- ),
- }));
+ getValues(`${itemName}.responseValues.rows`)?.map(
+ (row: SingleAndMultipleSelectRow) => ({
+ rowId: row.id,
+ options: getValues(`${itemName}.responseValues.options`)?.map(
+ (option: SingleAndMultiSelectRowOption) => ({
+ optionId: option.id,
+ ...(hasScores && { score: DEFAULT_SCORE_VALUE }),
+ }),
+ ),
+ }),
+ );
- setValue(`${itemName}.responseValues.dataMatrix`, hasScores || hasAlerts ? newMatrix : undefined);
+ setValue(
+ `${itemName}.responseValues.dataMatrix`,
+ hasScores || hasAlerts ? newMatrix : undefined,
+ );
}
if (isAlerts && ~ITEM_TYPES_TO_HAVE_ALERTS.indexOf(inputType as ItemResponseType)) {
@@ -310,7 +334,9 @@ export const ItemSettingsGroup = ({
type="number"
disabled={isSecondsDisabled}
minNumberValue={
- isSecondsDisabled ? DEFAULT_DISABLED_TIMER_VALUE : DEFAULT_ACTIVE_TIMER_VALUE
+ isSecondsDisabled
+ ? DEFAULT_DISABLED_TIMER_VALUE
+ : DEFAULT_ACTIVE_TIMER_VALUE
}
data-testid={`builder-activity-items-item-settings-${settingKey}-input`}
onChange={handleTimerChange}
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsController/ItemSettingsGroup/ItemSettingsGroup.utils.ts b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsController/ItemSettingsGroup/ItemSettingsGroup.utils.ts
index 7bb2bc0c4d..3f657763b6 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsController/ItemSettingsGroup/ItemSettingsGroup.utils.ts
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsController/ItemSettingsGroup/ItemSettingsGroup.utils.ts
@@ -2,7 +2,12 @@ import { getEntityKey, without } from 'shared/utils';
import { RemoveItemFromSubscales } from './ItemSettingsGroup.types';
-export const removeItemFromSubscales = ({ setValue, subscales, subscalesName, item }: RemoveItemFromSubscales) => {
+export const removeItemFromSubscales = ({
+ setValue,
+ subscales,
+ subscalesName,
+ item,
+}: RemoveItemFromSubscales) => {
const itemKey = getEntityKey(item);
subscales?.forEach((subscale, index) => {
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsDrawer/ItemSettingsDrawer.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsDrawer/ItemSettingsDrawer.tsx
index 92db541ec7..bef0ff9010 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsDrawer/ItemSettingsDrawer.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ItemSettingsDrawer/ItemSettingsDrawer.tsx
@@ -1,7 +1,12 @@
import { useTranslation } from 'react-i18next';
import { Svg } from 'shared/components/Svg';
-import { theme, StyledTitleBoldSmall, StyledClearedButton, StyledFlexTopCenter } from 'shared/styles';
+import {
+ theme,
+ StyledTitleBoldSmall,
+ StyledClearedButton,
+ StyledFlexTopCenter,
+} from 'shared/styles';
import { StyledDrawer, StyledDrawerContent, StyledSettings } from './ItemSettingsDrawer.styles';
import { ItemSettingsDrawerProps } from './ItemSettingsDrawer.types';
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ResponseDataIdentifier/ResponseDataIdentifier.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ResponseDataIdentifier/ResponseDataIdentifier.test.tsx
index 3f6103a790..90a955bf71 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ResponseDataIdentifier/ResponseDataIdentifier.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ResponseDataIdentifier/ResponseDataIdentifier.test.tsx
@@ -18,7 +18,9 @@ describe('ResponseDataIdentifier Component', () => {
),
).toBeInTheDocument();
- fireEvent.click(screen.getByTestId('builder-activity-items-item-configuration-data-indentifier-remove'));
+ fireEvent.click(
+ screen.getByTestId('builder-activity-items-item-configuration-data-indentifier-remove'),
+ );
expect(onRemoveMock).toHaveBeenCalledTimes(1);
});
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ResponseDataIdentifier/ResponseDataIdentifier.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ResponseDataIdentifier/ResponseDataIdentifier.tsx
index 20e18e5046..ee1df5a532 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ResponseDataIdentifier/ResponseDataIdentifier.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/ResponseDataIdentifier/ResponseDataIdentifier.tsx
@@ -1,7 +1,13 @@
import { useTranslation } from 'react-i18next';
import { Svg } from 'shared/components/Svg';
-import { theme, variables, StyledLabelBoldLarge, StyledClearedButton, StyledTitleMedium } from 'shared/styles';
+import {
+ theme,
+ variables,
+ StyledLabelBoldLarge,
+ StyledClearedButton,
+ StyledTitleMedium,
+} from 'shared/styles';
import {
StyledResponseDataIdentifierContainer,
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/TextInputOption/TextInputOption.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/TextInputOption/TextInputOption.test.tsx
index 2a4cc7c8e4..b4d196db21 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/TextInputOption/TextInputOption.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/Settings/TextInputOption/TextInputOption.test.tsx
@@ -35,7 +35,9 @@ describe('TextInputOption', () => {
).toBeInTheDocument();
expect(screen.getByText('*Required')).toBeInTheDocument();
- fireEvent.click(screen.getByTestId('builder-activity-items-item-configuration-text-input-option-remove'));
+ fireEvent.click(
+ screen.getByTestId('builder-activity-items-item-configuration-text-input-option-remove'),
+ );
expect(onRemove).toHaveBeenCalledTimes(1);
});
@@ -44,7 +46,9 @@ describe('TextInputOption', () => {
render();
expect(screen.getByText('Additional Text Input Option')).toBeInTheDocument();
- expect(screen.getByText('The respondent will be able to enter an additional text response')).toBeInTheDocument();
+ expect(
+ screen.getByText('The respondent will be able to enter an additional text response'),
+ ).toBeInTheDocument();
expect(screen.queryByText('*Required')).toBeNull();
});
});
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__mocks__/mock.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__mocks__/mock.tsx
index caef0dbf09..de2bf916df 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__mocks__/mock.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__mocks__/mock.tsx
@@ -7,7 +7,12 @@ import { screen, fireEvent, waitFor } from '@testing-library/react';
import { page } from 'resources';
import { getEntityKey, renderWithAppletFormData } from 'shared/utils';
-import { mockedActivityId, mockedAppletFormData, mockedAppletId, mockedSingleSelectFormValues } from 'shared/mock';
+import {
+ mockedActivityId,
+ mockedAppletFormData,
+ mockedAppletId,
+ mockedSingleSelectFormValues,
+} from 'shared/mock';
import { getNewActivityItem } from 'modules/Builder/pages/BuilderApplet/BuilderApplet.utils';
import { ItemConfiguration } from '../ItemConfiguration';
@@ -53,10 +58,12 @@ export const getAppletFormDataWithItemWithPalette = (paletteName) => {
responseValues: {
...mockedSingleSelectFormValues.responseValues,
paletteName,
- options: mockedSingleSelectFormValues.responseValues.options.slice(0, 2).map((option, index) => ({
- ...option,
- color: { hex: index === 0 ? '#005f73' : '#0a9396' },
- })),
+ options: mockedSingleSelectFormValues.responseValues.options
+ .slice(0, 2)
+ .map((option, index) => ({
+ ...option,
+ color: { hex: index === 0 ? '#005f73' : '#0a9396' },
+ })),
},
config: {
...mockedSingleSelectFormValues.config,
@@ -131,7 +138,9 @@ export const setItemConfigSetting = async (setting) => {
fireEvent.click(closeButton);
};
-export const renderItemConfiguration = (name = mockedItemName) => ;
+export const renderItemConfiguration = (name = mockedItemName) => (
+
+);
export const renderItemConfigurationByType = (responseType) => {
const ref = createRef();
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationAudioPlayer.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationAudioPlayer.test.tsx
index 0a42c4ceda..0dc4729a65 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationAudioPlayer.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationAudioPlayer.test.tsx
@@ -8,7 +8,8 @@ import { mockedItemName, mockedTestid, renderItemConfigurationByType } from '../
const mockedAudioTestid = `${mockedTestid}-audio-player`;
-const renderAudioPlayer = (itemProps) => renderItemConfigurationByType(ItemResponseType.AudioPlayer);
+const renderAudioPlayer = (itemProps) =>
+ renderItemConfigurationByType(ItemResponseType.AudioPlayer);
const selectAudioType = (isUpload) => {
fireEvent.click(screen.getByTestId(`${mockedAudioTestid}-add`));
@@ -90,7 +91,9 @@ describe('ItemConfiguration: AudioPlayer', () => {
fireEvent.click(remove);
expect(screen.getByTestId(`${mockedAudioTestid}-remove-popup`)).toBeVisible();
- expect(screen.getByTestId(`${mockedAudioTestid}-remove-popup-title`)).toHaveTextContent('Delete Audio');
+ expect(screen.getByTestId(`${mockedAudioTestid}-remove-popup-title`)).toHaveTextContent(
+ 'Delete Audio',
+ );
expect(screen.getByTestId(`${mockedAudioTestid}-remove-popup-description`)).toHaveTextContent(
'Are you sure you want to delete the current audio?',
);
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationDisplayedContent.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationDisplayedContent.test.tsx
index 6e2d1ebe6b..7e62750d6c 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationDisplayedContent.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationDisplayedContent.test.tsx
@@ -69,7 +69,9 @@ describe('ItemConfiguration: Displayed Content', () => {
const ref = renderItemConfig();
fireEvent.change(
- screen.getByTestId('builder-activity-items-item-configuration-description').querySelector('textarea'),
+ screen
+ .getByTestId('builder-activity-items-item-configuration-description')
+ .querySelector('textarea'),
{ target: { value: text } },
);
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationName.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationName.test.tsx
index 4209e4e3bf..da0cfc149a 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationName.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationName.test.tsx
@@ -8,7 +8,12 @@ import { mockedSingleSelectFormValues, mockedAppletFormData } from 'shared/mock'
import { asyncTimeout, renderWithAppletFormData } from 'shared/utils';
import { CHANGE_DEBOUNCE_VALUE } from 'shared/consts';
-import { renderItemConfiguration, mockedNameTestid, getAppletFormDataWithItem, mockedItemName } from '../__mocks__';
+import {
+ renderItemConfiguration,
+ mockedNameTestid,
+ getAppletFormDataWithItem,
+ mockedItemName,
+} from '../__mocks__';
const mockedAppletFormDataWithSystemItems = {
...mockedAppletFormData,
@@ -73,7 +78,9 @@ describe('ItemConfiguration: Item Name', () => {
await ref.current.trigger(`${mockedItemName}.name`);
await waitFor(() => {
- expected ? expect(screen.getByText(expected)).toBeVisible() : expect(error).not.toBeInTheDocument();
+ expected
+ ? expect(screen.getByText(expected)).toBeVisible()
+ : expect(error).not.toBeInTheDocument();
});
});
});
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationPhotoVideoAudioGeo.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationPhotoVideoAudioGeo.test.tsx
index 2e9d2d92b5..38c3d6d6b9 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationPhotoVideoAudioGeo.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationPhotoVideoAudioGeo.test.tsx
@@ -33,7 +33,9 @@ describe('Item Configuration: Photo/Video/Audio/Geo', () => {
const maxDuration = screen.getByTestId(`${mockedTestid}-audio-record-max-duration`);
expect(maxDuration).toBeVisible();
- expect(maxDuration.querySelector('label')).toHaveTextContent('Max Recording Duration (seconds)');
+ expect(maxDuration.querySelector('label')).toHaveTextContent(
+ 'Max Recording Duration (seconds)',
+ );
expect(maxDuration.querySelector('input')).toHaveValue(300);
}
});
@@ -41,9 +43,12 @@ describe('Item Configuration: Photo/Video/Audio/Geo', () => {
test('Audio: Validation', async () => {
renderItemConfigurationByType(ItemResponseType.Audio);
- fireEvent.change(screen.getByTestId(`${mockedTestid}-audio-record-max-duration`).querySelector('input'), {
- target: { value: -1 },
- });
+ fireEvent.change(
+ screen.getByTestId(`${mockedTestid}-audio-record-max-duration`).querySelector('input'),
+ {
+ target: { value: -1 },
+ },
+ );
expect(await screen.findByText('A positive integer is required')).toBeVisible();
});
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSelectionRows.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSelectionRows.test.tsx
index 4a9ec26020..61ced3309a 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSelectionRows.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSelectionRows.test.tsx
@@ -34,7 +34,9 @@ const setOption = (optionNumber) => {
const select = screen.getByTestId(`${mockedDataTestid}-options-select`);
fireEvent.mouseDown(select.querySelector('[role="button"]'));
- const options = screen.getByTestId(`${mockedDataTestid}-options-select-dropdown`).querySelectorAll('li');
+ const options = screen
+ .getByTestId(`${mockedDataTestid}-options-select-dropdown`)
+ .querySelectorAll('li');
fireEvent.click(options[optionNumber - 1]);
};
const setAlertOption = (alertIndex, optionIndex) => {
@@ -43,9 +45,9 @@ const setAlertOption = (alertIndex, optionIndex) => {
.querySelector('[role="button"]');
fireEvent.mouseDown(optionsSelect);
fireEvent.click(
- screen.getByTestId(`${mockedAlertsTestid}-${alertIndex}-selection-per-row-option-dropdown`).querySelectorAll('li')[
- optionIndex
- ],
+ screen
+ .getByTestId(`${mockedAlertsTestid}-${alertIndex}-selection-per-row-option-dropdown`)
+ .querySelectorAll('li')[optionIndex],
);
};
const setAlertRow = (alertIndex, rowIndex) => {
@@ -54,9 +56,9 @@ const setAlertRow = (alertIndex, rowIndex) => {
.querySelector('[role="button"]');
fireEvent.mouseDown(rowsSelect);
fireEvent.click(
- screen.getByTestId(`${mockedAlertsTestid}-${alertIndex}-selection-per-row-row-dropdown`).querySelectorAll('li')[
- rowIndex
- ],
+ screen
+ .getByTestId(`${mockedAlertsTestid}-${alertIndex}-selection-per-row-row-dropdown`)
+ .querySelectorAll('li')[rowIndex],
);
};
@@ -74,8 +76,12 @@ describe('Item Configuration: Single Selection Per Row/Multi Selection Per Row',
renderSelectionRows(responseType);
await waitFor(() => {
- const options = screen.getAllByTestId(/^builder-activity-items-item-configuration-selection-rows-option-\d+$/);
- const rows = screen.getAllByTestId(/^builder-activity-items-item-configuration-selection-rows-row-\d+$/);
+ const options = screen.getAllByTestId(
+ /^builder-activity-items-item-configuration-selection-rows-option-\d+$/,
+ );
+ const rows = screen.getAllByTestId(
+ /^builder-activity-items-item-configuration-selection-rows-row-\d+$/,
+ );
expect(options).toHaveLength(1);
expect(rows).toHaveLength(1);
@@ -118,7 +124,9 @@ describe('Item Configuration: Single Selection Per Row/Multi Selection Per Row',
screen
.getByTestId(`${mockedDataTestid}-row-0`)
.querySelector(
- `input[type="${responseType === ItemResponseType.SingleSelectionPerRow ? 'radio' : 'checkbox'}"]`,
+ `input[type="${
+ responseType === ItemResponseType.SingleSelectionPerRow ? 'radio' : 'checkbox'
+ }"]`,
),
).toBeDisabled();
@@ -201,7 +209,9 @@ describe('Item Configuration: Single Selection Per Row/Multi Selection Per Row',
const addRow = screen.getByTestId(mockedAddRowTestid);
fireEvent.click(addRow);
- const twoRows = screen.getAllByTestId(/^builder-activity-items-item-configuration-selection-rows-row-\d+$/);
+ const twoRows = screen.getAllByTestId(
+ /^builder-activity-items-item-configuration-selection-rows-row-\d+$/,
+ );
expect(twoRows).toHaveLength(2);
twoRows.forEach((_, index) => {
const text = screen.getByTestId(`${mockedDataTestid}-row-${index}-text`);
@@ -216,9 +226,13 @@ describe('Item Configuration: Single Selection Per Row/Multi Selection Per Row',
fireEvent.click(removeRow);
expect(
- screen.queryByTestId(/^builder-activity-items-item-configuration-selection-rows-row-\d+-remove$/),
+ screen.queryByTestId(
+ /^builder-activity-items-item-configuration-selection-rows-row-\d+-remove$/,
+ ),
).not.toBeInTheDocument();
- expect(screen.getAllByTestId(/^builder-activity-items-item-configuration-selection-rows-row-\d+$/)).toHaveLength(1);
+ expect(
+ screen.getAllByTestId(/^builder-activity-items-item-configuration-selection-rows-row-\d+$/),
+ ).toHaveLength(1);
expect(ref.current.getValues(`${mockedItemName}.responseValues.rows`)).toStrictEqual([
{ id: ref.current.getValues(`${mockedItemName}.responseValues.rows.0.id`), rowName: '' },
]);
@@ -244,7 +258,9 @@ describe('Item Configuration: Single Selection Per Row/Multi Selection Per Row',
expect(optionTooltips).toHaveLength(2);
optionTooltips.forEach((option, index) => {
expect(option.querySelector('label')).toHaveTextContent('Tooltip');
- const dataOption = ref.current.getValues(`${mockedItemName}.responseValues.options.${index}`);
+ const dataOption = ref.current.getValues(
+ `${mockedItemName}.responseValues.options.${index}`,
+ );
expect(dataOption).toHaveProperty('tooltip');
expect(dataOption.tooltip).toBeUndefined();
});
@@ -263,12 +279,16 @@ describe('Item Configuration: Single Selection Per Row/Multi Selection Per Row',
const rowTooltip = rowTooltips[0];
fireEvent.change(rowTooltip.querySelector('input'), { target: { value: 'tooltip' } });
await asyncTimeout(CHANGE_DEBOUNCE_VALUE);
- expect(ref.current.getValues(`${mockedItemName}.responseValues.rows.0.tooltip`)).toEqual('tooltip');
+ expect(ref.current.getValues(`${mockedItemName}.responseValues.rows.0.tooltip`)).toEqual(
+ 'tooltip',
+ );
const optionTooltip = optionTooltips[1];
fireEvent.change(optionTooltip.querySelector('input'), { target: { value: 'tooltip' } });
await asyncTimeout(CHANGE_DEBOUNCE_VALUE);
- expect(ref.current.getValues(`${mockedItemName}.responseValues.options.1.tooltip`)).toEqual('tooltip');
+ expect(ref.current.getValues(`${mockedItemName}.responseValues.options.1.tooltip`)).toEqual(
+ 'tooltip',
+ );
setOption(3);
expect(screen.getByTestId(`${mockedDataTestid}-option-2-tooltip`)).toBeVisible();
@@ -293,7 +313,9 @@ describe('Item Configuration: Single Selection Per Row/Multi Selection Per Row',
await setItemConfigSetting(ItemConfigurationSettings.HasAlerts);
expect(screen.getByText('Alert 1')).toBeVisible();
- expect(screen.getByText('If is selected for when answering this question then send:')).toBeVisible();
+ expect(
+ screen.getByText('If is selected for when answering this question then send:'),
+ ).toBeVisible();
expect(screen.getByTestId(`${mockedAlertsTestid}-0-remove`)).toBeVisible();
expect(screen.getByTestId(`${mockedAlertsTestid}-0-text`));
expect(screen.getByTestId(`${mockedAlertsTestid}-0-selection-per-row-row`)).toBeVisible();
@@ -326,7 +348,9 @@ describe('Item Configuration: Single Selection Per Row/Multi Selection Per Row',
const addAlert = screen.getByTestId('builder-activity-items-item-configuration-add-alert');
fireEvent.click(addAlert);
- const alertInput = screen.getByTestId(`${mockedAlertsTestid}-1-text`).querySelector('input');
+ const alertInput = screen
+ .getByTestId(`${mockedAlertsTestid}-1-text`)
+ .querySelector('input');
fireEvent.change(alertInput, { target: { value: 'text' } });
await asyncTimeout(CHANGE_DEBOUNCE_VALUE);
@@ -399,7 +423,9 @@ describe('Item Configuration: Single Selection Per Row/Multi Selection Per Row',
fireEvent.click(removeAlert);
expect(screen.queryByTestId(`${mockedAlertsTestid}-0-panel`)).not.toBeInTheDocument();
- expect(ref.current.getValues(`${mockedItemName}.config.${ItemConfigurationSettings.HasAlerts}`)).toBeFalsy();
+ expect(
+ ref.current.getValues(`${mockedItemName}.config.${ItemConfigurationSettings.HasAlerts}`),
+ ).toBeFalsy();
expect(ref.current.getValues(`${mockedItemName}.alerts`)).toEqual([]);
});
});
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSingleMultiSelect.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSingleMultiSelect.test.tsx
index c28af0510a..fcc42d92de 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSingleMultiSelect.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSingleMultiSelect.test.tsx
@@ -26,7 +26,10 @@ import { ItemConfigurationSettings } from '../ItemConfiguration.types';
const mockedChangeColorEvent = { hex: '#fff' };
jest.mock('react-color', () => ({
ChromePicker: ({ onChangeComplete }) => (
- onChangeComplete(mockedChangeColorEvent)}>
+ onChangeComplete(mockedChangeColorEvent)}
+ >
),
}));
@@ -51,14 +54,18 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
setItemResponseType(responseType);
await waitFor(() => {
- const options = screen.getAllByTestId(/^builder-activity-items-item-configuration-options-\d+-option$/);
+ const options = screen.getAllByTestId(
+ /^builder-activity-items-item-configuration-options-\d+-option$/,
+ );
expect(options).toHaveLength(1);
const hideButton = screen.getByTestId(`${mockedSingleAndMultiSelectOptionTestid}-hide`);
expect(hideButton).toBeVisible();
expect(hideButton.querySelector('svg')).toHaveClass('svg-visibility-on');
- expect(screen.getByTestId(`${mockedSingleAndMultiSelectOptionTestid}-title`)).toHaveTextContent('Option 1');
+ expect(
+ screen.getByTestId(`${mockedSingleAndMultiSelectOptionTestid}-title`),
+ ).toHaveTextContent('Option 1');
expect(screen.getByTestId(`${mockedSingleAndMultiSelectOptionTestid}-image`)).toBeVisible();
const text = screen.getByTestId(`${mockedSingleAndMultiSelectOptionTestid}-text`);
@@ -90,23 +97,33 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
fireEvent.click(button);
await waitFor(() => {
- const options = screen.getAllByTestId(/^builder-activity-items-item-configuration-options-\d+-option$/);
+ const options = screen.getAllByTestId(
+ /^builder-activity-items-item-configuration-options-\d+-option$/,
+ );
expect(options).toHaveLength(2);
options.forEach((_, index) => {
- expect(screen.getByTestId(`builder-activity-items-item-configuration-options-${index}-remove`)).toBeVisible();
+ expect(
+ screen.getByTestId(`builder-activity-items-item-configuration-options-${index}-remove`),
+ ).toBeVisible();
});
- const secondOption = screen.getByTestId('builder-activity-items-item-configuration-options-1-title');
+ const secondOption = screen.getByTestId(
+ 'builder-activity-items-item-configuration-options-1-title',
+ );
expect(secondOption).toHaveTextContent('Option 2');
expect(ref.current.getValues(`${mockedItemName}.responseValues.options`)).toHaveLength(2);
});
- const removeButton = screen.getByTestId('builder-activity-items-item-configuration-options-1-remove');
+ const removeButton = screen.getByTestId(
+ 'builder-activity-items-item-configuration-options-1-remove',
+ );
fireEvent.click(removeButton);
await waitFor(() => {
- expect(screen.getAllByTestId(/^builder-activity-items-item-configuration-options-\d+-option$/)).toHaveLength(1);
+ expect(
+ screen.getAllByTestId(/^builder-activity-items-item-configuration-options-\d+-option$/),
+ ).toHaveLength(1);
expect(ref.current.getValues(`${mockedItemName}.responseValues.options`)).toHaveLength(1);
});
});
@@ -180,43 +197,65 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
createArray(9, () => fireEvent.click(addOption));
- const options = screen.getAllByTestId(/^builder-activity-items-item-configuration-options-\d+-option$/);
+ const options = screen.getAllByTestId(
+ /^builder-activity-items-item-configuration-options-\d+-option$/,
+ );
await setItemConfigSetting(ItemConfigurationSettings.HasColorPalette);
- const paletteButton = screen.getByTestId('builder-activity-items-item-configuration-set-color-palette');
+ const paletteButton = screen.getByTestId(
+ 'builder-activity-items-item-configuration-set-color-palette',
+ );
fireEvent.click(paletteButton);
- const paletteContainer = screen.getByTestId('builder-activity-items-item-configuration-color-palette');
+ const paletteContainer = screen.getByTestId(
+ 'builder-activity-items-item-configuration-color-palette',
+ );
expect(paletteContainer).toBeVisible();
options.forEach((_, index) => {
- expect(ref.current.getValues(`${mockedItemName}.responseValues.options.${index}.color`)).toStrictEqual({
+ expect(
+ ref.current.getValues(`${mockedItemName}.responseValues.options.${index}.color`),
+ ).toStrictEqual({
hex: '',
});
});
- const palette1 = screen.getByTestId('builder-activity-items-item-configuration-color-palette-picker-0');
+ const palette1 = screen.getByTestId(
+ 'builder-activity-items-item-configuration-color-palette-picker-0',
+ );
fireEvent.click(palette1);
options.forEach((option, index) => {
const color = mockedPalette1Color[index % mockedPalette1Color.length];
- expect(ref.current.getValues(`${mockedItemName}.responseValues.options.${index}.color`)).toEqual({
+ expect(
+ ref.current.getValues(`${mockedItemName}.responseValues.options.${index}.color`),
+ ).toEqual({
hex: color,
});
});
- expect(ref.current.getValues(`${mockedItemName}.responseValues.paletteName`)).toEqual('palette1');
+ expect(ref.current.getValues(`${mockedItemName}.responseValues.paletteName`)).toEqual(
+ 'palette1',
+ );
- const removePalette = screen.getByTestId('builder-activity-items-item-configuration-color-palette-remove');
+ const removePalette = screen.getByTestId(
+ 'builder-activity-items-item-configuration-color-palette-remove',
+ );
fireEvent.click(removePalette);
options.forEach((_, index) => {
- expect(ref.current.getValues(`${mockedItemName}.responseValues.options.${index}.color`)).toEqual({ hex: '' });
+ expect(
+ ref.current.getValues(`${mockedItemName}.responseValues.options.${index}.color`),
+ ).toEqual({ hex: '' });
});
- expect(screen.queryByTestId('builder-activity-items-item-configuration-color-palette')).not.toBeInTheDocument();
- expect(screen.getByTestId('builder-activity-items-item-configuration-set-color-palette')).toBeVisible();
+ expect(
+ screen.queryByTestId('builder-activity-items-item-configuration-color-palette'),
+ ).not.toBeInTheDocument();
+ expect(
+ screen.getByTestId('builder-activity-items-item-configuration-set-color-palette'),
+ ).toBeVisible();
expect(ref.current.getValues(`${mockedItemName}.responseValues.paletteName`)).toBeUndefined();
});
@@ -226,9 +265,13 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
appletFormData: getAppletFormDataWithItemWithPalette('palette2'),
});
- expect(screen.getByTestId('builder-activity-items-item-configuration-color-palette')).toBeVisible();
+ expect(
+ screen.getByTestId('builder-activity-items-item-configuration-color-palette'),
+ ).toBeVisible();
- const palette2 = screen.getByTestId('builder-activity-items-item-configuration-color-palette-picker-1');
+ const palette2 = screen.getByTestId(
+ 'builder-activity-items-item-configuration-color-palette-picker-1',
+ );
expect(palette2.querySelector('input')).toBeChecked();
});
@@ -238,8 +281,12 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
appletFormData: getAppletFormDataWithItemWithPalette(),
});
- expect(screen.queryByTestId('builder-activity-items-item-configuration-color-palette')).not.toBeInTheDocument();
- expect(screen.getByTestId('builder-activity-items-item-configuration-set-color-palette')).toBeVisible();
+ expect(
+ screen.queryByTestId('builder-activity-items-item-configuration-color-palette'),
+ ).not.toBeInTheDocument();
+ expect(
+ screen.getByTestId('builder-activity-items-item-configuration-set-color-palette'),
+ ).toBeVisible();
});
test('Value for paletteName is removed if palette is already selected and color for option is changed', async () => {
@@ -251,15 +298,17 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
appletFormData: getAppletFormDataWithItemWithPalette('palette2'),
});
- const colorPickerButton = screen.getByTestId('builder-activity-items-item-configuration-options-0-palette');
+ const colorPickerButton = screen.getByTestId(
+ 'builder-activity-items-item-configuration-options-0-palette',
+ );
fireEvent.click(colorPickerButton);
const colorPicker = screen.getByTestId('color-picker');
fireEvent.click(colorPicker);
- expect(ref.current.getValues(`${mockedItemName}.responseValues.options.0.color`)).toStrictEqual(
- mockedChangeColorEvent,
- );
+ expect(
+ ref.current.getValues(`${mockedItemName}.responseValues.options.0.color`),
+ ).toStrictEqual(mockedChangeColorEvent);
expect(ref.current.getValues(`${mockedItemName}.responseValues.paletteName`)).toEqual('');
});
});
@@ -297,7 +346,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
'The respondent will be required to enter an additional text response',
);
expect(
- screen.getByTestId('builder-activity-items-item-configuration-text-input-option-description-required'),
+ screen.getByTestId(
+ 'builder-activity-items-item-configuration-text-input-option-description-required',
+ ),
).toHaveTextContent('*Required');
});
@@ -315,7 +366,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
fireEvent.click(removeButton);
expect(screen.queryByTestId(mockedTextInputOptionTestid)).not.toBeInTheDocument();
- expect(ref.current.getValues(`${mockedItemName}.config.additionalResponseOption.textInputOption`)).toBeFalsy();
+ expect(
+ ref.current.getValues(`${mockedItemName}.config.additionalResponseOption.textInputOption`),
+ ).toBeFalsy();
});
});
@@ -337,7 +390,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
await asyncTimeout(CHANGE_DEBOUNCE_VALUE);
- expect(ref.current.getValues(`${mockedItemName}.responseValues.options.0.tooltip`)).toEqual('tooltip');
+ expect(ref.current.getValues(`${mockedItemName}.responseValues.options.0.tooltip`)).toEqual(
+ 'tooltip',
+ );
});
test('Is removed from document if checkbox is unchecked', async () => {
@@ -354,7 +409,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
await setItemConfigSetting(ItemConfigurationSettings.HasTooltips);
- expect(screen.queryByTestId(`${mockedSingleAndMultiSelectOptionTestid}-tooltip`)).not.toBeInTheDocument();
+ expect(
+ screen.queryByTestId(`${mockedSingleAndMultiSelectOptionTestid}-tooltip`),
+ ).not.toBeInTheDocument();
});
});
@@ -370,7 +427,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
await setItemConfigSetting(ItemConfigurationSettings.HasScores);
- const scoreInput = screen.getByTestId(`${mockedSingleAndMultiSelectOptionTestid}-score`).querySelector('input');
+ const scoreInput = screen
+ .getByTestId(`${mockedSingleAndMultiSelectOptionTestid}-score`)
+ .querySelector('input');
expect(scoreInput).toHaveValue(0);
fireEvent.change(scoreInput, { target: { value: 13 } });
@@ -380,7 +439,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
expect(ref.current.getValues(`${mockedItemName}.responseValues.options.0.score`)).toEqual(-5);
fireEvent.change(scoreInput, { target: { value: 0.4 } });
- expect(ref.current.getValues(`${mockedItemName}.responseValues.options.0.score`)).toEqual(0.4);
+ expect(ref.current.getValues(`${mockedItemName}.responseValues.options.0.score`)).toEqual(
+ 0.4,
+ );
});
test('Is removed from document when checkbox is unchecked', async () => {
@@ -394,13 +455,19 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
await setItemConfigSetting(ItemConfigurationSettings.HasScores);
- const scoreInput = screen.getByTestId(`${mockedSingleAndMultiSelectOptionTestid}-score`).querySelector('input');
+ const scoreInput = screen
+ .getByTestId(`${mockedSingleAndMultiSelectOptionTestid}-score`)
+ .querySelector('input');
fireEvent.change(scoreInput, { target: { value: 13 } });
await setItemConfigSetting(ItemConfigurationSettings.HasScores);
- expect(ref.current.getValues(`${mockedItemName}.responseValues.options.0.score`)).toBeUndefined();
- expect(screen.queryByTestId(`${mockedSingleAndMultiSelectOptionTestid}-score`)).not.toBeInTheDocument();
+ expect(
+ ref.current.getValues(`${mockedItemName}.responseValues.options.0.score`),
+ ).toBeUndefined();
+ expect(
+ screen.queryByTestId(`${mockedSingleAndMultiSelectOptionTestid}-score`),
+ ).not.toBeInTheDocument();
});
});
@@ -414,7 +481,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
await setItemConfigSetting(ItemConfigurationSettings.HasAlerts);
expect(screen.getByText('Alert 1')).toBeVisible();
- expect(screen.getByText('If Respondent selected when answering this question then send:')).toBeVisible();
+ expect(
+ screen.getByText('If Respondent selected when answering this question then send:'),
+ ).toBeVisible();
expect(screen.getByTestId(`${mockedAlertsTestid}-0-text`)).toHaveTextContent('Alert Message');
});
@@ -458,7 +527,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
const addAlert = screen.getByTestId('builder-activity-items-item-configuration-add-alert');
fireEvent.click(addAlert);
- const alertInput = screen.getByTestId(`${mockedAlertsTestid}-1-text`).querySelector('input');
+ const alertInput = screen
+ .getByTestId(`${mockedAlertsTestid}-1-text`)
+ .querySelector('input');
fireEvent.change(alertInput, { target: { value: 'text' } });
await asyncTimeout(CHANGE_DEBOUNCE_VALUE);
@@ -467,7 +538,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
const optionsSelectButton = optionsSelect.querySelector('[role="button"]');
fireEvent.mouseDown(optionsSelectButton);
- const option = screen.getByTestId(`${mockedAlertsTestid}-1-selection-option-dropdown`).querySelector('li');
+ const option = screen
+ .getByTestId(`${mockedAlertsTestid}-1-selection-option-dropdown`)
+ .querySelector('li');
fireEvent.click(option);
expect(ref.current.getValues(`${mockedItemName}.alerts.1`)).toStrictEqual({
@@ -539,7 +612,9 @@ describe('ItemConfiguration: Single Selection & Multiple Selection', () => {
fireEvent.click(removeAlert);
expect(screen.queryByTestId(`${mockedAlertsTestid}-0-panel`)).not.toBeInTheDocument();
- expect(ref.current.getValues(`${mockedItemName}.config.${ItemConfigurationSettings.HasAlerts}`)).toBeFalsy();
+ expect(
+ ref.current.getValues(`${mockedItemName}.config.${ItemConfigurationSettings.HasAlerts}`),
+ ).toBeFalsy();
expect(ref.current.getValues(`${mockedItemName}.alerts`)).toEqual([]);
});
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSliderRows.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSliderRows.test.tsx
index e404cc9f29..54f0d07d72 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSliderRows.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationSliderRows.test.tsx
@@ -38,9 +38,9 @@ const selectSliderId = (panelIndex, sliderIndex) => {
const sliderSelectButton = sliderSelect.querySelector('[role="button"]');
fireEvent.mouseDown(sliderSelectButton);
fireEvent.click(
- screen.getByTestId(`${mockedAlertsTestid}-${panelIndex}-slider-rows-row-dropdown`).querySelectorAll('li')[
- sliderIndex
- ],
+ screen
+ .getByTestId(`${mockedAlertsTestid}-${panelIndex}-slider-rows-row-dropdown`)
+ .querySelectorAll('li')[sliderIndex],
);
};
const selectOption = (panelIndex, optionIndex) => {
@@ -48,9 +48,9 @@ const selectOption = (panelIndex, optionIndex) => {
const optionSelectButton = optionSelect.querySelector('[role="button"]');
fireEvent.mouseDown(optionSelectButton);
fireEvent.click(
- screen.getByTestId(`${mockedAlertsTestid}-${panelIndex}-slider-rows-value-dropdown`).querySelectorAll('li')[
- optionIndex
- ],
+ screen
+ .getByTestId(`${mockedAlertsTestid}-${panelIndex}-slider-rows-value-dropdown`)
+ .querySelectorAll('li')[optionIndex],
);
};
@@ -74,10 +74,14 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
expect(panels).toHaveLength(isSliderRows ? 2 : 1);
- const removeButton = screen.queryByTestId('builder-activity-items-item-configuration-slider-remove');
+ const removeButton = screen.queryByTestId(
+ 'builder-activity-items-item-configuration-slider-remove',
+ );
isSliderRows ? expect(removeButton).toBeVisible() : expect(removeButton).toBeNull();
- const titles = screen.getAllByTestId('builder-activity-items-item-configuration-slider-title');
+ const titles = screen.getAllByTestId(
+ 'builder-activity-items-item-configuration-slider-title',
+ );
titles.forEach((title, index) => {
isSliderRows
? expect(title).toHaveTextContent(`Slider ${index + 1}`)
@@ -119,7 +123,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
expect(value.querySelector('input')).toHaveValue(isSliderRows ? 5 : 12);
});
- const addButton = screen.queryByTestId('builder-activity-items-item-configuration-slider-add-slider');
+ const addButton = screen.queryByTestId(
+ 'builder-activity-items-item-configuration-slider-add-slider',
+ );
isSliderRows ? expect(addButton).toBeVisible() : expect(addButton).toBeNull();
});
});
@@ -127,7 +133,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
test('Slider Rows: slider is added and removed successfully', async () => {
const ref = renderSlider(ItemResponseType.SliderRows);
- const button = screen.getByTestId('builder-activity-items-item-configuration-slider-add-slider');
+ const button = screen.getByTestId(
+ 'builder-activity-items-item-configuration-slider-add-slider',
+ );
fireEvent.click(button);
const dataTestidRegex = getDataTestidRegex(true);
@@ -137,7 +145,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
expect(ref.current.getValues(`${mockedItemName}.responseValues.rows`)).toHaveLength(3);
});
- const removeButtons = screen.getAllByTestId('builder-activity-items-item-configuration-slider-remove');
+ const removeButtons = screen.getAllByTestId(
+ 'builder-activity-items-item-configuration-slider-remove',
+ );
fireEvent.click(removeButtons[0]);
await waitFor(() => {
@@ -178,7 +188,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
const input = item.querySelector('input');
fireEvent.change(input, { target: { value } });
- expect(ref.current.getValues(`${mockedItemName}.responseValues.rows.${index}.${attribute}`)).toEqual(value);
+ expect(
+ ref.current.getValues(`${mockedItemName}.responseValues.rows.${index}.${attribute}`),
+ ).toEqual(value);
});
});
});
@@ -189,10 +201,14 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
await setItemConfigSetting(ItemConfigurationSettings.HasAlerts);
expect(screen.getByText('Alert 1')).toBeVisible();
- expect(screen.getByText('If Respondent selected when answering this question then send:')).toBeVisible();
+ expect(
+ screen.getByText('If Respondent selected when answering this question then send:'),
+ ).toBeVisible();
expect(screen.getByTestId(`${mockedAlertsTestid}-0-remove`)).toBeVisible();
expect(screen.getByTestId(`${mockedAlertsTestid}-0-text`));
- expect(screen.getByTestId(`${mockedAlertsTestid}-0-slider-value`).querySelector('input')).toHaveValue(0);
+ expect(
+ screen.getByTestId(`${mockedAlertsTestid}-0-slider-value`).querySelector('input'),
+ ).toHaveValue(0);
});
test('Add/remove works correctly', async () => {
@@ -224,7 +240,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
await asyncTimeout(CHANGE_DEBOUNCE_VALUE);
- const valueInput = screen.getByTestId(`${mockedAlertsTestid}-1-slider-value`).querySelector('input');
+ const valueInput = screen
+ .getByTestId(`${mockedAlertsTestid}-1-slider-value`)
+ .querySelector('input');
fireEvent.change(valueInput, { target: { value: 4 } });
expect(ref.current.getValues(`${mockedItemName}.alerts.1`)).toStrictEqual({
@@ -242,7 +260,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
fireEvent.click(removeAlert);
expect(screen.queryByTestId(`${mockedAlertsTestid}-0-panel`)).not.toBeInTheDocument();
- expect(ref.current.getValues(`${mockedItemName}.config.${ItemConfigurationSettings.HasAlerts}`)).toBeFalsy();
+ expect(
+ ref.current.getValues(`${mockedItemName}.config.${ItemConfigurationSettings.HasAlerts}`),
+ ).toBeFalsy();
expect(ref.current.getValues(`${mockedItemName}.alerts`)).toEqual([]);
});
@@ -254,7 +274,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
const ref = renderSlider(ItemResponseType.Slider);
await setItemConfigSetting(ItemConfigurationSettings.HasAlerts);
- const input = screen.getByTestId(`${mockedAlertsTestid}-0-${attribute}`).querySelector('input');
+ const input = screen
+ .getByTestId(`${mockedAlertsTestid}-0-${attribute}`)
+ .querySelector('input');
fireEvent.change(input, { target: { value } });
await asyncTimeout(CHANGE_DEBOUNCE_VALUE);
@@ -272,7 +294,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
await setItemConfigSetting(ItemConfigurationSettings.HasAlerts);
expect(screen.getByText('Alert 1')).toBeVisible();
- expect(screen.getByText('If respondent in selected when answering this question then send:')).toBeVisible();
+ expect(
+ screen.getByText('If respondent in selected when answering this question then send:'),
+ ).toBeVisible();
expect(screen.getByTestId(`${mockedAlertsTestid}-0-remove`)).toBeVisible();
expect(screen.getByTestId(`${mockedAlertsTestid}-0-text`));
expect(screen.getByTestId(`${mockedAlertsTestid}-0-slider-rows-row`)).toBeVisible();
@@ -317,16 +341,20 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
fireEvent.mouseDown(optionSelectButton);
expect(
- screen.getByTestId(`${mockedAlertsTestid}-1-slider-rows-value-dropdown`).querySelectorAll('li'),
+ screen
+ .getByTestId(`${mockedAlertsTestid}-1-slider-rows-value-dropdown`)
+ .querySelectorAll('li'),
).toHaveLength(5);
selectOption(0, 0);
fireEvent.mouseDown(optionSelectButton);
expect(
- [...screen.getByTestId(`${mockedAlertsTestid}-1-slider-rows-value-dropdown`).querySelectorAll('li')].filter(
- (li) => !li.classList.contains('hidden-menu-item'),
- ),
+ [
+ ...screen
+ .getByTestId(`${mockedAlertsTestid}-1-slider-rows-value-dropdown`)
+ .querySelectorAll('li'),
+ ].filter((li) => !li.classList.contains('hidden-menu-item')),
).toHaveLength(4);
});
@@ -363,8 +391,12 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
key: ref.current.getValues(`${mockedItemName}.alerts.0.key`),
});
- const minValue = screen.getByTestId(`${mockedAlertsTestid}-0-cont-slider-min-value`).querySelector('input');
- const maxValue = screen.getByTestId(`${mockedAlertsTestid}-0-cont-slider-max-value`).querySelector('input');
+ const minValue = screen
+ .getByTestId(`${mockedAlertsTestid}-0-cont-slider-min-value`)
+ .querySelector('input');
+ const maxValue = screen
+ .getByTestId(`${mockedAlertsTestid}-0-cont-slider-max-value`)
+ .querySelector('input');
fireEvent.change(minValue, { target: { value: -7 } });
fireEvent.change(maxValue, { target: { value: 50 } });
@@ -383,7 +415,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
const ref = renderSlider(ItemResponseType.Slider);
await setItemConfigSetting(ItemConfigurationSettings.HasScores);
- const cell = screen.getByTestId('builder-activity-items-item-configuration-slider-scores-table-0-score-inactive');
+ const cell = screen.getByTestId(
+ 'builder-activity-items-item-configuration-slider-scores-table-0-score-inactive',
+ );
fireEvent.click(cell);
fireEvent.change(
@@ -403,13 +437,17 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
await setItemConfigSetting(ItemConfigurationSettings.HasScores);
expect(
- screen.getByTestId('builder-activity-items-item-configuration-slider-scores-table-0-score-inactive'),
+ screen.getByTestId(
+ 'builder-activity-items-item-configuration-slider-scores-table-0-score-inactive',
+ ),
).toBeVisible();
await setItemConfigSetting(ItemConfigurationSettings.HasScores);
expect(
- screen.queryByTestId('builder-activity-items-item-configuration-slider-scores-table-0-score-inactive'),
+ screen.queryByTestId(
+ 'builder-activity-items-item-configuration-slider-scores-table-0-score-inactive',
+ ),
).not.toBeInTheDocument();
expect(ref.current.getValues(`${mockedItemName}.responseValues.scores`)).toBeUndefined();
});
@@ -418,7 +456,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
const ref = renderSlider(ItemResponseType.Slider);
await setItemConfigSetting(ItemConfigurationSettings.HasScores);
- const cell = screen.getByTestId('builder-activity-items-item-configuration-slider-scores-table-0-score-inactive');
+ const cell = screen.getByTestId(
+ 'builder-activity-items-item-configuration-slider-scores-table-0-score-inactive',
+ );
fireEvent.click(cell);
fireEvent.change(
@@ -478,7 +518,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
'The respondent will be required to enter an additional text response',
);
expect(
- screen.getByTestId('builder-activity-items-item-configuration-text-input-option-description-required'),
+ screen.getByTestId(
+ 'builder-activity-items-item-configuration-text-input-option-description-required',
+ ),
).toHaveTextContent('*Required');
});
@@ -491,7 +533,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
fireEvent.click(removeButton);
expect(screen.queryByTestId(mockedTextInputOptionTestid)).not.toBeInTheDocument();
- expect(ref.current.getValues(`${mockedItemName}.config.additionalResponseOption.textInputOption`)).toBeFalsy();
+ expect(
+ ref.current.getValues(`${mockedItemName}.config.additionalResponseOption.textInputOption`),
+ ).toBeFalsy();
});
});
@@ -528,7 +572,9 @@ describe('ItemConfiguration: Slider & Slider Rows', () => {
await waitFor(() => {
const slider = screen.getByTestId(new RegExp(`${getDataTestidRegex(false)}-slider`));
- const expected = slider.querySelectorAll(isMarks ? '.MuiSlider-mark' : '.MuiSlider-markLabel');
+ const expected = slider.querySelectorAll(
+ isMarks ? '.MuiSlider-mark' : '.MuiSlider-markLabel',
+ );
expect(expected).toHaveLength(13);
});
},
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationText.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationText.test.tsx
index d522ab45ea..08fcaf02de 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationText.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationText.test.tsx
@@ -51,15 +51,20 @@ describe('ItemConfiguration: Text', () => {
await setItemConfigSetting(ItemConfigurationSettings.IsCorrectAnswerRequired);
- fireEvent.change(screen.getByTestId(`${mockedTextTestid}-correct-answer`).querySelector('input'), {
- target: { value: 'correct' },
- });
+ fireEvent.change(
+ screen.getByTestId(`${mockedTextTestid}-correct-answer`).querySelector('input'),
+ {
+ target: { value: 'correct' },
+ },
+ );
fireEvent.change(screen.getByTestId(`${mockedTextTestid}-max-length`).querySelector('input'), {
target: { value: 3 },
});
await waitFor(() => {
- expect(screen.getByTestId(`${mockedTextTestid}-correct-answer`).querySelector('input')).toHaveValue('cor');
+ expect(
+ screen.getByTestId(`${mockedTextTestid}-correct-answer`).querySelector('input'),
+ ).toHaveValue('cor');
});
});
diff --git a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationType.test.tsx b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationType.test.tsx
index 1ade8086bc..0398495cb0 100644
--- a/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationType.test.tsx
+++ b/src/modules/Builder/features/ActivityItems/ItemConfiguration/__tests__/ItemConfigurationType.test.tsx
@@ -5,7 +5,10 @@ import { createRef } from 'react';
import { screen, fireEvent, waitFor } from '@testing-library/react';
import { ItemResponseType } from 'shared/consts';
-import { mockedRenderAppletFormDataActivityOptions, mockedSingleSelectFormValues } from 'shared/mock';
+import {
+ mockedRenderAppletFormDataActivityOptions,
+ mockedSingleSelectFormValues,
+} from 'shared/mock';
import { renderWithAppletFormData } from 'shared/utils';
import {
@@ -61,7 +64,8 @@ describe('ItemConfiguration: Item Type', () => {
expect(option).toHaveAttribute('data-value', itemType);
- if (mockedItemTypesMobileOnly.includes(itemType)) expect(option).toHaveTextContent(/mobile only$/i);
+ if (mockedItemTypesMobileOnly.includes(itemType))
+ expect(option).toHaveTextContent(/mobile only$/i);
});
mockedItemTypeGroups.forEach((groupName) => {
const group = screen.getByTestId(`${mockedGroupTestid}-${groupName}`);
@@ -100,7 +104,9 @@ describe('ItemConfiguration: Item Type', () => {
appletFormData: getAppletFormDataWithItem(item),
});
- expect(screen.getByTestId('builder-activity-items-item-configuration-response-type')).toBeInTheDocument();
+ expect(
+ screen.getByTestId('builder-activity-items-item-configuration-response-type'),
+ ).toBeInTheDocument();
const input = document.querySelector(
'[data-testid="builder-activity-items-item-configuration-response-type"] input',
@@ -127,12 +133,16 @@ describe('ItemConfiguration: Item Type', () => {
fireEvent.change(searchInput, { target: { value: searchText } });
const itemTypes = screen.getAllByTestId((testId) => testId.startsWith(mockedOptionTestid));
- const visibleItemTypes = itemTypes.filter((itemType) => window.getComputedStyle(itemType).display !== 'none');
+ const visibleItemTypes = itemTypes.filter(
+ (itemType) => window.getComputedStyle(itemType).display !== 'none',
+ );
expect(visibleItemTypes).toHaveLength(expected);
visibleItemTypes.forEach((itemType) => {
- expect(itemType.querySelector('.highlighted-text')).toHaveTextContent(new RegExp(`^${searchText}$`, 'i'));
+ expect(itemType.querySelector('.highlighted-text')).toHaveTextContent(
+ new RegExp(`^${searchText}$`, 'i'),
+ );
});
if (expected === 0) {
diff --git a/src/modules/Builder/features/ActivityItems/LeftBar/Item/Item.styles.ts b/src/modules/Builder/features/ActivityItems/LeftBar/Item/Item.styles.ts
index 6dfb4cd3de..787f3c49dd 100644
--- a/src/modules/Builder/features/ActivityItems/LeftBar/Item/Item.styles.ts
+++ b/src/modules/Builder/features/ActivityItems/LeftBar/Item/Item.styles.ts
@@ -41,12 +41,18 @@ export const StyledItem = styled(StyledFlexTopCenter, shouldForwardProp)`
${hasError && `background-color: ${variables.palette.error_container}`};
${
isDragging &&
- `background-color: ${blendColorsNormal(variables.palette.surface, variables.palette.on_surface_alfa16)}`
+ `background-color: ${blendColorsNormal(
+ variables.palette.surface,
+ variables.palette.on_surface_alfa16,
+ )}`
};
${
isSystem &&
`
- background-color: ${blendColorsNormal(variables.palette.surface, variables.palette.on_surface_variant_alfa8)};
+ background-color: ${blendColorsNormal(
+ variables.palette.surface,
+ variables.palette.on_surface_variant_alfa8,
+ )};
cursor: default;
`
};
@@ -57,13 +63,19 @@ export const StyledItem = styled(StyledFlexTopCenter, shouldForwardProp)`
!hasError &&
!isSystem &&
`
- background-color: ${blendColorsNormal(variables.palette.surface, variables.palette.on_surface_alfa8)};
+ background-color: ${blendColorsNormal(
+ variables.palette.surface,
+ variables.palette.on_surface_alfa8,
+ )};
`
};
}
&:active {
- background-color: ${blendColorsNormal(variables.palette.surface, variables.palette.on_surface_alfa12)};
+ background-color: ${blendColorsNormal(
+ variables.palette.surface,
+ variables.palette.on_surface_alfa12,
+ )};
}
`}
`;
diff --git a/src/modules/Builder/features/ActivityItems/LeftBar/LeftBar.tsx b/src/modules/Builder/features/ActivityItems/LeftBar/LeftBar.tsx
index cea8c42746..98435e6aa0 100644
--- a/src/modules/Builder/features/ActivityItems/LeftBar/LeftBar.tsx
+++ b/src/modules/Builder/features/ActivityItems/LeftBar/LeftBar.tsx
@@ -47,7 +47,9 @@ export const LeftBar = ({
const { t } = useTranslation('app');
const { setValue, getValues } = useCustomFormContext();
const [isDragging, setIsDragging] = useState(false);
- const [conditionalLogicKeysToRemove, setConditionalLogicKeysToRemove] = useState(null);
+ const [conditionalLogicKeysToRemove, setConditionalLogicKeysToRemove] = useState(
+ null,
+ );
const [sourceIndex, setSourceIndex] = useState(-1);
const [destinationIndex, setDestinationIndex] = useState(-1);
@@ -97,7 +99,8 @@ export const LeftBar = ({
setValue(
`${fieldName}.conditionalLogic`,
activity?.conditionalLogic?.filter(
- (condition: ConditionalLogic) => !conditionalLogicKeysToRemove?.includes(getEntityKey(condition)),
+ (condition: ConditionalLogic) =>
+ !conditionalLogicKeysToRemove?.includes(getEntityKey(condition)),
),
);
onMoveItem(sourceIndex, destinationIndex);
@@ -203,7 +206,9 @@ export const LeftBar = ({
);
})}
{!itemsData?.length && (
- {t('itemIsRequired')}
+
+ {t('itemIsRequired')}
+
)}
{isPending && (
@@ -233,8 +238,8 @@ export const LeftBar = ({
{' '}
<>{{ name: movingItemSourceName }}>{' '}
- in the list contradicts the existing Item Flow. If you continue, the following Conditional(s) will be
- removed:
+ in the list contradicts the existing Item Flow. If you continue, the following
+ Conditional(s) will be removed: