mirror of
https://github.com/strapi/strapi.git
synced 2025-12-27 15:13:21 +00:00
Update tests
This commit is contained in:
parent
45251bf395
commit
a62b117edb
@ -89,6 +89,7 @@ const SubCategory = ({ subCategory }) => {
|
||||
</Checkbox>
|
||||
<button
|
||||
type="button"
|
||||
data-testid="action-cog"
|
||||
onClick={() => onSelectedAction(action.name)}
|
||||
style={{ display: 'inline-flex', alignItems: 'center' }}
|
||||
>
|
||||
|
||||
@ -36,51 +36,21 @@ const handlers = [
|
||||
ctx.status(200),
|
||||
ctx.json({
|
||||
routes: {
|
||||
application: [],
|
||||
'content-manager': [
|
||||
{
|
||||
method: 'GET',
|
||||
path:
|
||||
'/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-types',
|
||||
handler: 'content-types.findContentTypes',
|
||||
config: {
|
||||
policies: ['plugin::users-permissions.permissions'],
|
||||
},
|
||||
},
|
||||
],
|
||||
'content-type-builder': [
|
||||
{
|
||||
method: 'DELETE',
|
||||
path:
|
||||
'/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/component-categories/:name',
|
||||
handler: 'component-categories.deleteCategory',
|
||||
config: {
|
||||
policies: [
|
||||
'plugin::users-permissions.permissions',
|
||||
{
|
||||
name: 'admin::hasPermissions',
|
||||
options: {
|
||||
actions: ['plugin::content-type-builder.read'],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
email: [
|
||||
'api::address': [
|
||||
{
|
||||
method: 'POST',
|
||||
path:
|
||||
'/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/',
|
||||
handler: 'Email.send',
|
||||
path: '/addresses',
|
||||
handler: 'address.create',
|
||||
config: {
|
||||
policies: ['plugin::users-permissions.permissions'],
|
||||
description: 'Send an email',
|
||||
tag: {
|
||||
plugin: 'email',
|
||||
name: 'Email',
|
||||
policies: [],
|
||||
auth: {
|
||||
scope: 'api::address.address.create',
|
||||
},
|
||||
},
|
||||
info: {
|
||||
apiName: 'address',
|
||||
type: 'content-api',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@ -971,16 +971,39 @@ describe('Admin | containers | RoleEditPage', () => {
|
||||
errorMessages.forEach(errorMessage => expect(errorMessage).toBeInTheDocument());
|
||||
});
|
||||
|
||||
it('can toggle the permissions accordions', async () => {
|
||||
it('can toggle the permissions accordions and actions', async () => {
|
||||
// Create app and wait for loading
|
||||
const { getByLabelText, queryByText, getByTestId, getByText } = makeAndRenderApp();
|
||||
const {
|
||||
getByLabelText,
|
||||
queryByText,
|
||||
getByTestId,
|
||||
getByText,
|
||||
getAllByRole,
|
||||
} = makeAndRenderApp();
|
||||
const loader = getByTestId('loader');
|
||||
await waitForElementToBeRemoved(loader);
|
||||
|
||||
// Open then close the collapse
|
||||
// Open the collapse
|
||||
const collapse = getByText(/define all allowed actions for the api::address plugin/i);
|
||||
await userEvent.click(collapse);
|
||||
expect(getByLabelText(/select all/i)).toBeInTheDocument();
|
||||
|
||||
// Display the selected action's bound route
|
||||
const actionCogButton = getByTestId('action-cog');
|
||||
await userEvent.click(actionCogButton);
|
||||
expect(getByText(/bound route to/i)).toBeInTheDocument();
|
||||
expect(getByText('POST')).toBeInTheDocument();
|
||||
expect(getByText('/addresses')).toBeInTheDocument();
|
||||
|
||||
// Select all actions with the "select all" checkbox
|
||||
const [selectAllCheckbox, ...actionCheckboxes] = getAllByRole('checkbox');
|
||||
expect(selectAllCheckbox.checked).toBe(false);
|
||||
await userEvent.click(selectAllCheckbox);
|
||||
actionCheckboxes.forEach(actionCheckbox => {
|
||||
expect(actionCheckbox.checked).toBe(true);
|
||||
});
|
||||
|
||||
// Close the collapse
|
||||
await userEvent.click(collapse);
|
||||
expect(queryByText(/select all/i)).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
@ -44,51 +44,21 @@ const handlers = [
|
||||
ctx.status(200),
|
||||
ctx.json({
|
||||
routes: {
|
||||
application: [],
|
||||
'content-manager': [
|
||||
{
|
||||
method: 'GET',
|
||||
path:
|
||||
'/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-manager/content-types',
|
||||
handler: 'content-types.findContentTypes',
|
||||
config: {
|
||||
policies: ['plugin::users-permissions.permissions'],
|
||||
},
|
||||
},
|
||||
],
|
||||
'content-type-builder': [
|
||||
{
|
||||
method: 'DELETE',
|
||||
path:
|
||||
'/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/content-type-builder/component-categories/:name',
|
||||
handler: 'component-categories.deleteCategory',
|
||||
config: {
|
||||
policies: [
|
||||
'plugin::users-permissions.permissions',
|
||||
{
|
||||
name: 'admin::hasPermissions',
|
||||
options: {
|
||||
actions: ['plugin::content-type-builder.read'],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
email: [
|
||||
'api::address': [
|
||||
{
|
||||
method: 'POST',
|
||||
path:
|
||||
'/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/email/',
|
||||
handler: 'Email.send',
|
||||
path: '/addresses',
|
||||
handler: 'address.create',
|
||||
config: {
|
||||
policies: ['plugin::users-permissions.permissions'],
|
||||
description: 'Send an email',
|
||||
tag: {
|
||||
plugin: 'email',
|
||||
name: 'Email',
|
||||
policies: [],
|
||||
auth: {
|
||||
scope: 'api::address.address.create',
|
||||
},
|
||||
},
|
||||
info: {
|
||||
apiName: 'address',
|
||||
type: 'content-api',
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user