Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a229c34535 | ||
|
|
5d7b4fecf4 | ||
|
|
f04130a7c6 |
33
package-lock.json
generated
33
package-lock.json
generated
@@ -39,7 +39,7 @@
|
|||||||
"react": "17.0.2",
|
"react": "17.0.2",
|
||||||
"react-dom": "17.0.2",
|
"react-dom": "17.0.2",
|
||||||
"react-redux": "7.2.9",
|
"react-redux": "7.2.9",
|
||||||
"react-router-dom": "6.27.0",
|
"react-router-dom": "6.28.0",
|
||||||
"react-test-renderer": "17.0.2",
|
"react-test-renderer": "17.0.2",
|
||||||
"redux": "4.2.1",
|
"redux": "4.2.1",
|
||||||
"redux-saga": "1.3.0"
|
"redux-saga": "1.3.0"
|
||||||
@@ -3320,9 +3320,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@openedx/frontend-plugin-framework": {
|
"node_modules/@openedx/frontend-plugin-framework": {
|
||||||
"version": "1.3.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@openedx/frontend-plugin-framework/-/frontend-plugin-framework-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@openedx/frontend-plugin-framework/-/frontend-plugin-framework-1.4.0.tgz",
|
||||||
"integrity": "sha512-qLtX/4HIuWXiIhBdtBuL6mPVbV2un0rsFYx3I5+3tIUf7+T7WRq81a6JHU5QGyAmZy9dfiv7QwbqwiEQOVXVuQ==",
|
"integrity": "sha512-cwwjvGjYnzQdyhw2PuMYfaZoZGclXTzYfR3NjZ8bSLkj0f7lRB64nMy6WUmBjTB6hjaD4vxMs0zahrU4IM7EWQ==",
|
||||||
|
"license": "AGPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
|
"@edx/brand": "npm:@openedx/brand-openedx@^1.2.2",
|
||||||
"classnames": "^2.3.2",
|
"classnames": "^2.3.2",
|
||||||
@@ -3564,9 +3565,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@remix-run/router": {
|
"node_modules/@remix-run/router": {
|
||||||
"version": "1.20.0",
|
"version": "1.21.0",
|
||||||
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.20.0.tgz",
|
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz",
|
||||||
"integrity": "sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==",
|
"integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
@@ -14232,12 +14233,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-router": {
|
"node_modules/react-router": {
|
||||||
"version": "6.27.0",
|
"version": "6.28.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.27.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz",
|
||||||
"integrity": "sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==",
|
"integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@remix-run/router": "1.20.0"
|
"@remix-run/router": "1.21.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
@@ -14247,13 +14248,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-router-dom": {
|
"node_modules/react-router-dom": {
|
||||||
"version": "6.27.0",
|
"version": "6.28.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.27.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.0.tgz",
|
||||||
"integrity": "sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==",
|
"integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@remix-run/router": "1.20.0",
|
"@remix-run/router": "1.21.0",
|
||||||
"react-router": "6.27.0"
|
"react-router": "6.28.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
"react": "17.0.2",
|
"react": "17.0.2",
|
||||||
"react-dom": "17.0.2",
|
"react-dom": "17.0.2",
|
||||||
"react-redux": "7.2.9",
|
"react-redux": "7.2.9",
|
||||||
"react-router-dom": "6.27.0",
|
"react-router-dom": "6.28.0",
|
||||||
"react-test-renderer": "17.0.2",
|
"react-test-renderer": "17.0.2",
|
||||||
"redux": "4.2.1",
|
"redux": "4.2.1",
|
||||||
"redux-saga": "1.3.0"
|
"redux-saga": "1.3.0"
|
||||||
|
|||||||
@@ -61,11 +61,6 @@ const messages = defineMessages({
|
|||||||
defaultMessage: 'Studio Home',
|
defaultMessage: 'Studio Home',
|
||||||
description: 'Link to the Studio Home',
|
description: 'Link to the Studio Home',
|
||||||
},
|
},
|
||||||
'header.user.menu.studio.maintenance': {
|
|
||||||
id: 'header.user.menu.studio.maintenance',
|
|
||||||
defaultMessage: 'Maintenance',
|
|
||||||
description: 'Link to the Studio Maintenance',
|
|
||||||
},
|
|
||||||
'header.label.account.nav': {
|
'header.label.account.nav': {
|
||||||
id: 'header.label.account.nav',
|
id: 'header.label.account.nav',
|
||||||
defaultMessage: 'Account',
|
defaultMessage: 'Account',
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import { Context as ResponsiveContext } from 'react-responsive';
|
|||||||
import { MemoryRouter } from 'react-router-dom';
|
import { MemoryRouter } from 'react-router-dom';
|
||||||
|
|
||||||
import StudioHeader from './StudioHeader';
|
import StudioHeader from './StudioHeader';
|
||||||
import messages from './messages';
|
|
||||||
|
|
||||||
const authenticatedUser = {
|
const authenticatedUser = {
|
||||||
userId: 3,
|
userId: 3,
|
||||||
@@ -115,16 +114,6 @@ describe('Header', () => {
|
|||||||
expect(dropdownOption).toBeVisible();
|
expect(dropdownOption).toBeVisible();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('maintenance should not be in user menu', async () => {
|
|
||||||
currentUser = { ...authenticatedUser, administrator: false };
|
|
||||||
const { getAllByRole, queryByText } = render(<RootWrapper {...props} />);
|
|
||||||
const userMenu = getAllByRole('button')[1];
|
|
||||||
await waitFor(() => fireEvent.click(userMenu));
|
|
||||||
const maintenanceButton = queryByText(messages['header.user.menu.maintenance'].defaultMessage);
|
|
||||||
|
|
||||||
expect(maintenanceButton).toBeNull();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('user menu should use avatar icon', async () => {
|
it('user menu should use avatar icon', async () => {
|
||||||
currentUser = { ...authenticatedUser, avatar: null };
|
currentUser = { ...authenticatedUser, avatar: null };
|
||||||
const { getByTestId } = render(<RootWrapper {...props} />);
|
const { getByTestId } = render(<RootWrapper {...props} />);
|
||||||
@@ -186,15 +175,6 @@ describe('Header', () => {
|
|||||||
expect(desktopMenu).toBeNull();
|
expect(desktopMenu).toBeNull();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('maintenance should be in user menu', async () => {
|
|
||||||
const { getAllByRole, getByText } = render(<RootWrapper {...props} />);
|
|
||||||
const userMenu = getAllByRole('button')[1];
|
|
||||||
await waitFor(() => fireEvent.click(userMenu));
|
|
||||||
const maintenanceButton = getByText(messages['header.user.menu.maintenance'].defaultMessage);
|
|
||||||
|
|
||||||
expect(maintenanceButton).toBeVisible();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('user menu should use avatar image', async () => {
|
it('user menu should use avatar image', async () => {
|
||||||
const { getByTestId } = render(<RootWrapper {...props} />);
|
const { getByTestId } = render(<RootWrapper {...props} />);
|
||||||
const avatarImage = getByTestId('avatar-image');
|
const avatarImage = getByTestId('avatar-image');
|
||||||
|
|||||||
@@ -6,11 +6,6 @@ const messages = defineMessages({
|
|||||||
defaultMessage: 'Studio Home',
|
defaultMessage: 'Studio Home',
|
||||||
description: 'Link to Studio Home',
|
description: 'Link to Studio Home',
|
||||||
},
|
},
|
||||||
'header.user.menu.maintenance': {
|
|
||||||
id: 'header.user.menu.maintenance',
|
|
||||||
defaultMessage: 'Maintenance',
|
|
||||||
description: 'Link to the Studio maintenance page',
|
|
||||||
},
|
|
||||||
'header.user.menu.logout': {
|
'header.user.menu.logout': {
|
||||||
id: 'header.user.menu.logout',
|
id: 'header.user.menu.logout',
|
||||||
defaultMessage: 'Logout',
|
defaultMessage: 'Logout',
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import { getConfig } from '@edx/frontend-platform';
|
|
||||||
import messages from './messages';
|
import messages from './messages';
|
||||||
|
|
||||||
const getUserMenuItems = ({
|
const getUserMenuItems = ({
|
||||||
@@ -21,9 +20,6 @@ const getUserMenuItems = ({
|
|||||||
{
|
{
|
||||||
href: `${studioBaseUrl}`,
|
href: `${studioBaseUrl}`,
|
||||||
title: intl.formatMessage(messages['header.user.menu.studio']),
|
title: intl.formatMessage(messages['header.user.menu.studio']),
|
||||||
}, {
|
|
||||||
href: `${getConfig().STUDIO_BASE_URL}/maintenance`,
|
|
||||||
title: intl.formatMessage(messages['header.user.menu.maintenance']),
|
|
||||||
}, {
|
}, {
|
||||||
href: `${logoutUrl}`,
|
href: `${logoutUrl}`,
|
||||||
title: intl.formatMessage(messages['header.user.menu.logout']),
|
title: intl.formatMessage(messages['header.user.menu.logout']),
|
||||||
|
|||||||
Reference in New Issue
Block a user