Refactor and fix main app tests

This commit is contained in:
Alejandro Celaya
2023-08-04 08:56:06 +02:00
parent c794ff8b58
commit c4d7ac272b
29 changed files with 162 additions and 160 deletions

View File

@@ -1,11 +1,10 @@
import type { FC, ReactNode } from 'react';
import { DropdownItem, FormGroup } from 'reactstrap';
import { DropdownBtn, LabeledFormGroup, SimpleCard, ToggleSwitch } from '../../shlink-frontend-kit/src';
import type { Settings } from '../../shlink-web-component/src';
import type { Settings, ShortUrlCreationSettings as ShortUrlsSettings } from '../../shlink-web-component/src';
import { FormText } from '../utils/forms/FormText';
import type { Defined } from '../utils/types';
type ShortUrlsSettings = Defined<Settings['shortUrlCreation']>;
type TagFilteringMode = Defined<ShortUrlsSettings['tagFilteringMode']>;
interface ShortUrlCreationProps {

View File

@@ -1,12 +1,9 @@
import type { FC } from 'react';
import { LabeledFormGroup, OrderingDropdown, SimpleCard } from '../../shlink-frontend-kit/src';
import type { Settings } from '../../shlink-web-component/src';
import type { Settings, ShortUrlsListSettings as ShortUrlsSettings } from '../../shlink-web-component/src';
import { SHORT_URLS_ORDERABLE_FIELDS } from '../../shlink-web-component/src/short-urls/data';
import type { Defined } from '../utils/types';
import { DEFAULT_SHORT_URLS_ORDERING } from './reducers/settings';
type ShortUrlsSettings = Defined<Settings['shortUrlsList']>;
interface ShortUrlsListSettingsProps {
settings: Settings;
setShortUrlsListSettings: (settings: ShortUrlsSettings) => void;

View File

@@ -1,10 +1,7 @@
import type { FC } from 'react';
import { LabeledFormGroup, OrderingDropdown, SimpleCard } from '../../shlink-frontend-kit/src';
import type { Settings } from '../../shlink-web-component/src';
import type { Settings, TagsSettings as TagsSettingsOptions } from '../../shlink-web-component/src';
import { TAGS_ORDERABLE_FIELDS } from '../../shlink-web-component/src/tags/data/TagsListChildrenProps';
import type { Defined } from '../utils/types';
type TagsSettingsOptions = Defined<Settings['tags']>;
interface TagsProps {
settings: Settings;

View File

@@ -2,14 +2,11 @@ import { faMoon, faSun } from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import type { FC } from 'react';
import { SimpleCard, ToggleSwitch } from '../../shlink-frontend-kit/src';
import type { Settings } from '../../shlink-web-component/src';
import type { Settings, UiSettings } from '../../shlink-web-component/src';
import type { Theme } from '../utils/theme';
import { changeThemeInMarkup } from '../utils/theme';
import type { Defined } from '../utils/types';
import './UserInterfaceSettings.scss';
type UiSettings = Defined<Settings['ui']>;
interface UserInterfaceProps {
settings: Settings;
setUiSettings: (settings: UiSettings) => void;

View File

@@ -1,13 +1,11 @@
import type { FC } from 'react';
import { FormGroup } from 'reactstrap';
import { LabeledFormGroup, SimpleCard, ToggleSwitch } from '../../shlink-frontend-kit/src';
import type { Settings } from '../../shlink-web-component/src';
import type { Settings, VisitsSettings as VisitsSettingsConfig } from '../../shlink-web-component/src';
import type { DateInterval } from '../../shlink-web-component/src/utils/dates/helpers/dateIntervals';
import { DateIntervalSelector } from '../utils/dates/DateIntervalSelector';
import { FormText } from '../utils/forms/FormText';
type VisitsSettingsConfig = Settings['visits'];
interface VisitsProps {
settings: Settings;
setVisitsSettings: (settings: VisitsSettingsConfig) => void;

View File

@@ -1,10 +1,15 @@
import type { PayloadAction, PrepareAction } from '@reduxjs/toolkit';
import { createSlice } from '@reduxjs/toolkit';
import { mergeDeepRight } from 'ramda';
import type { Settings } from '../../../shlink-web-component/src';
import type {
Settings,
ShortUrlCreationSettings,
ShortUrlsListSettings,
TagsSettings,
UiSettings, VisitsSettings } from '../../../shlink-web-component/src';
import type { Defined } from '../../utils/types';
type ShortUrlsOrder = Defined<Defined<Settings['shortUrlsList']>['defaultOrdering']>;
type ShortUrlsOrder = Defined<ShortUrlsListSettings['defaultOrdering']>;
export const DEFAULT_SHORT_URLS_ORDERING: ShortUrlsOrder = {
field: 'dateCreated',
@@ -43,14 +48,14 @@ const { reducer, actions } = createSlice({
toggleRealTimeUpdates: toReducer((enabled: boolean) => toPreparedAction({ realTimeUpdates: { enabled } })),
setRealTimeUpdatesInterval: toReducer((interval: number) => toPreparedAction({ realTimeUpdates: { interval } })),
setShortUrlCreationSettings: toReducer(
(shortUrlCreation: Settings['shortUrlCreation']) => toPreparedAction({ shortUrlCreation }),
(shortUrlCreation: ShortUrlCreationSettings) => toPreparedAction({ shortUrlCreation }),
),
setShortUrlsListSettings: toReducer(
(shortUrlsList: Settings['shortUrlsList']) => toPreparedAction({ shortUrlsList }),
(shortUrlsList: ShortUrlsListSettings) => toPreparedAction({ shortUrlsList }),
),
setUiSettings: toReducer((ui: Settings['ui']) => toPreparedAction({ ui })),
setVisitsSettings: toReducer((visits: Settings['visits']) => toPreparedAction({ visits })),
setTagsSettings: toReducer((tags: Settings['tags']) => toPreparedAction({ tags })),
setUiSettings: toReducer((ui: UiSettings) => toPreparedAction({ ui })),
setVisitsSettings: toReducer((visits: VisitsSettings) => toPreparedAction({ visits })),
setTagsSettings: toReducer((tags: TagsSettings) => toPreparedAction({ tags })),
},
});