Skip to content

Commit

Permalink
Merge pull request #2105 from zetkin/main
Browse files Browse the repository at this point in the history
240812 Release
  • Loading branch information
richardolsson authored Aug 12, 2024
2 parents 6838c26 + 62d38b8 commit 8d54989
Show file tree
Hide file tree
Showing 447 changed files with 8,831 additions and 7,890 deletions.
21 changes: 13 additions & 8 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,19 @@ module.exports = {
},
],
curly: 'error',
'import/order': [
'error',
{
alphabetize: {
order: 'ignore',
orderImportKind: 'ignore',
},
groups: [
['external', 'builtin'],
],
'newlines-between': 'always',
},
],
'jsx-a11y/anchor-is-valid': 'off',
'no-console': 'error',
'no-switch-statements/no-switch': 'error',
Expand Down Expand Up @@ -83,14 +96,6 @@ module.exports = {
html: true,
},
],
'sort-imports': [
'error',
{
ignoreCase: true,
allowSeparatedGroups: true,
memberSyntaxSortOrder: ['none', 'all', 'single', 'multiple'],
},
],
'sort-keys': 'error',
'sort-vars': 'error',
},
Expand Down
18 changes: 10 additions & 8 deletions .storybook/main.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');

module.exports = {
stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
staticDirs: ['../src'],
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],

addons: [
'@storybook/addon-links',
'@storybook/addon-essentials',
'@storybook/addon-interactions',
'storybook-addon-next-router',
'storybook-addon-material-ui5',
'storybook-addon-mock/register',
],
framework: '@storybook/react',
core: {
builder: '@storybook/builder-webpack5',
},

framework: '@storybook/nextjs',

webpackFinal: async (config) => {
config.resolve.plugins = [
...(config.resolve.plugins || []),
Expand All @@ -23,4 +21,8 @@ module.exports = {
];
return config;
},

typescript: {
reactDocgen: 'react-docgen-typescript'
}
};
89 changes: 60 additions & 29 deletions .storybook/preview.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import dayjs from 'dayjs';
import Environment from 'core/env/Environment';
import FetchApiClient from 'core/api/client/FetchApiClient';
import { EnvProvider } from 'core/env/EnvContext';
import { IntlProvider } from 'react-intl';
import isoWeek from 'dayjs/plugin/isoWeek';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { muiTheme } from 'storybook-addon-material-ui5';
import { RouterContext } from 'next/dist/shared/lib/router-context'; // next 11.1
import withMock from 'storybook-addon-mock';
import { Provider as ReduxProvider } from 'react-redux';
import { ThemeProvider } from '@mui/material';
import { useRouter } from 'next/router';

import theme from '../src/theme';
import '../src/styles.css';
Expand All @@ -25,37 +27,66 @@ const I18nProvider = (props) => {
);
};

async function mockFetch(path, init) {
if (path === '/api/orgs/1/people/1' && init === undefined) {
return new Response(
JSON.stringify({
data: mockPerson(),
})
);
}

if (path === '/api/orgs/1/people/1/tags' && init === undefined) {
return new Response('[]');
}

if (path === '/api/orgs/1/people/fields' && init === undefined) {
return new Response(
JSON.stringify({
data: [],
})
);
}

throw new Error(
`unmocked request to path: '${path}'
with init: ${JSON.stringify(init)}`
);
}

class MockApiClient extends FetchApiClient {
constructor() {
super(mockFetch);
}
}

export const decorators = [
muiTheme([theme]),
(story) => <ReduxProvider store={createStore()}>{story()}</ReduxProvider>,
(Story) => (
<ThemeProvider theme={theme}>
<Story />
</ThemeProvider>
),
(story) => {
const store = createStore();
const router = useRouter();
const env = new Environment(store, new MockApiClient(), router);
return (
<ReduxProvider store={store}>
<EnvProvider env={env}>{story()}</EnvProvider>
</ReduxProvider>
);
},
(story) => <I18nProvider>{story()}</I18nProvider>,
withMock,
];

export const parameters = {
nextRouter: {
Provider: RouterContext.Provider,
query: {
orgId: 1,
personId: 1,
},
},
mockData: [
{
url: 'api/orgs/1/people/1',
method: 'GET',
status: 200,
response: {
data: mockPerson(),
nextjs: {
router: {
query: {
orgId: 1,
personId: 1,
},
},
{
url: 'api/orgs/1/people/1/tags',
method: 'GET',
status: 200,
response: {
data: [],
},
},
],
},
};
export const tags = ['autodocs'];
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { TASK_TYPE } from 'features/tasks/components/types';
import { ZetkinTask } from 'utils/types/zetkin';

import KPD from '../../..';
import ReferendumSignatureCollection from '..';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { ZetkinTask } from 'utils/types/zetkin';
import { TASK_TYPE, VisitLinkConfig } from 'features/tasks/components/types';

import KPD from '../../..';
import ReferendumSignatureCollection from '..';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import KPD from '../../../../mockData/orgs/KPD';
import ReferendumSignatures from '../../../../mockData/orgs/KPD/campaigns/ReferendumSignatures';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import KPD from '../../../../mockData/orgs/KPD';
import ReferendumSignatures from '../../../../mockData/orgs/KPD/campaigns/ReferendumSignatures';
import RosaLuxemburg from '../../../../mockData/orgs/KPD/people/RosaLuxemburg';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import KPD from '../../../../mockData/orgs/KPD';
import ReferendumSignatures from '../../../../mockData/orgs/KPD/campaigns/ReferendumSignatures';
import WelcomeNewMembers from '../../../../mockData/orgs/KPD/campaigns/WelcomeNewMembers';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import KPD from '../../../../mockData/orgs/KPD';
import ReferendumSignatures from '../../../../mockData/orgs/KPD/campaigns/ReferendumSignatures';
import WelcomeNewMembers from '../../../../mockData/orgs/KPD/campaigns/WelcomeNewMembers';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import ActivistTag from '../../../../mockData/orgs/KPD/tags/Activist';
import ClarasOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import CodingSkillsTag from '../../../../mockData/orgs/KPD/tags/Coding';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import ClarasOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import KPD from '../../../../mockData/orgs/KPD';
import MemberOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import ClarasOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import KPD from '../../../../mockData/orgs/KPD';
import MemberOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import ClarasOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import KPD from '../../../../mockData/orgs/KPD';
import MarxistTraining from '../../../../mockData/orgs/KPD/journeys/MarxistTraining';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import ClarasOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import KPD from '../../../../mockData/orgs/KPD';
import MemberOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import ClarasOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';

import ClaraZetkin from '../../../../mockData/orgs/KPD/people/ClaraZetkin';
import KPD from '../../../../mockData/orgs/KPD';
import MemberOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import ClarasOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import KPD from '../../../../mockData/orgs/KPD';
import { ZetkinJourneyInstance } from '../../../../../src/utils/types/zetkin';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import ActivistTag from '../../../../mockData/orgs/KPD/tags/Activist';
import ClarasOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import CodingSkillsTag from '../../../../mockData/orgs/KPD/tags/Coding';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../../fixtures/next';

import test from '../../../../fixtures/next';
import { AttendMeeting } from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import ClarasOnboarding from '../../../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import KPD from '../../../../mockData/orgs/KPD';
Expand Down
2 changes: 1 addition & 1 deletion integrationTesting/tests/organize/journeys/list.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../fixtures/next';

import test from '../../../fixtures/next';
import KPD from '../../../mockData/orgs/KPD';
import MarxistTraining from '../../../mockData/orgs/KPD/journeys/MarxistTraining';
import MemberOnboarding from '../../../mockData/orgs/KPD/journeys/MemberOnboarding';
Expand Down
2 changes: 1 addition & 1 deletion integrationTesting/tests/organize/memberships.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../fixtures/next';

import test from '../../fixtures/next';
import KPD from '../../mockData/orgs/KPD';
import RosaLuxemburg from '../../mockData/orgs/KPD/people/RosaLuxemburg';
import RosaLuxemburgUser from '../../mockData/users/RosaLuxemburgUser';
Expand Down
2 changes: 1 addition & 1 deletion integrationTesting/tests/organize/search.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../fixtures/next';

import test from '../../fixtures/next';
import ClarasOnboarding from '../../mockData/orgs/KPD/journeys/MemberOnboarding/instances/ClarasOnboarding';
import KPD from '../../mockData/orgs/KPD';
import ReferendumSignatures from '../../mockData/orgs/KPD/campaigns/ReferendumSignatures';
Expand Down
2 changes: 1 addition & 1 deletion integrationTesting/tests/organize/tags/add.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../fixtures/next';

import test from '../../../fixtures/next';
import ClaraZetkin from '../../../mockData/orgs/KPD/people/ClaraZetkin';
import CodingSkillsTag from '../../../mockData/orgs/KPD/tags/Coding';
import KPD from '../../../mockData/orgs/KPD';
Expand Down
2 changes: 1 addition & 1 deletion integrationTesting/tests/organize/tags/create.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../fixtures/next';

import test from '../../../fixtures/next';
import ActivistTag from '../../../mockData/orgs/KPD/tags/Activist';
import ClaraZetkin from '../../../mockData/orgs/KPD/people/ClaraZetkin';
import CodingSkillsTag from '../../../mockData/orgs/KPD/tags/Coding';
Expand Down
2 changes: 1 addition & 1 deletion integrationTesting/tests/organize/tags/edit.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../fixtures/next';

import test from '../../../fixtures/next';
import ActivistTag from '../../../mockData/orgs/KPD/tags/Activist';
import ClaraZetkin from '../../../mockData/orgs/KPD/people/ClaraZetkin';
import CodingSkillsTag from '../../../mockData/orgs/KPD/tags/Coding';
Expand Down
2 changes: 1 addition & 1 deletion integrationTesting/tests/organize/tags/list.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../fixtures/next';

import test from '../../../fixtures/next';
import ActivistTag from '../../../mockData/orgs/KPD/tags/Activist';
import ClaraZetkin from '../../../mockData/orgs/KPD/people/ClaraZetkin';
import CodingSkillsTag from '../../../mockData/orgs/KPD/tags/Coding';
Expand Down
2 changes: 1 addition & 1 deletion integrationTesting/tests/organize/tags/remove.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from '@playwright/test';
import test from '../../../fixtures/next';

import test from '../../../fixtures/next';
import ClaraZetkin from '../../../mockData/orgs/KPD/people/ClaraZetkin';
import CodingSkillsTag from '../../../mockData/orgs/KPD/tags/Coding';
import KPD from '../../../mockData/orgs/KPD';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { expect } from '@playwright/test';
import fs from 'fs/promises';

import test from '../../../../fixtures/next';

import KPD from '../../../../mockData/orgs/KPD';
import ReferendumSignatureCollection from '../../../../mockData/orgs/KPD/campaigns/ReferendumSignatures';
import SpeakToFriend from '../../../../mockData/orgs/KPD/campaigns/ReferendumSignatures/tasks/SpeakToFriend';
Expand Down Expand Up @@ -54,7 +53,7 @@ test.describe('Task detail page', () => {

await page.goto(appUri + '/organize/1/projects/1/calendar/tasks/1');

await page.locator('data-testid=TaskPreviewSection-addImage').click();
await page.locator('data-testid=ZUIEditableImage-placeholder').click();

const buffer = await fs.readFile(
'integrationTesting/mockFiles/clara_and_rosa.jpg'
Expand All @@ -68,7 +67,7 @@ test.describe('Task detail page', () => {
return dt;
}, buffer);

await page.dispatchEvent('data-testid=ImageSelectDialog-dropZone', 'drop', {
await page.dispatchEvent('data-testid=FileDropZone-dropZone', 'drop', {
dataTransfer,
});

Expand All @@ -79,7 +78,7 @@ test.describe('Task detail page', () => {
page.waitForResponse((res) =>
res.request().url().includes('clara_and_rosa.jpg')
),
page.locator('data-testid=SubmitCancelButtons-submitButton').click(),
page.locator('data-testid=FileLibraryDialog-useButton').click(),
]);

await page.locator('data-testid=TaskPreviewSection-section').waitFor();
Expand Down
Loading

0 comments on commit 8d54989

Please sign in to comment.