portainer/app/setup-tests/server-handlers.ts

59 lines
1.7 KiB
TypeScript

import { rest } from 'msw';
import {
Edition,
LicenseInfo,
LicenseType,
} from '@/portainer/license-management/types';
import { EnvironmentGroup } from '@/portainer/environment-groups/types';
import { Tag } from '@/portainer/tags/types';
import { createMockTeams, createMockUsers } from '../react-tools/test-mocks';
import { azureHandlers } from './setup-handlers/azure';
const licenseInfo: LicenseInfo = {
nodes: 1000,
type: LicenseType.Subscription,
company: 'company',
createdAt: 0,
email: 'email@company.com',
expiresAt: Number.MAX_SAFE_INTEGER,
productEdition: Edition.EE,
valid: true,
};
export const handlers = [
rest.get('/api/teams', async (req, res, ctx) =>
res(ctx.json(createMockTeams(10)))
),
rest.get('/api/users', async (req, res, ctx) =>
res(ctx.json(createMockUsers(10)))
),
...azureHandlers,
rest.get('/api/licenses/info', (req, res, ctx) => res(ctx.json(licenseInfo))),
rest.get('/api/status/nodes', (req, res, ctx) => res(ctx.json({ nodes: 3 }))),
rest.get('/api/backup/s3/status', (req, res, ctx) =>
res(ctx.json({ Failed: false }))
),
rest.get('/api/endpoint_groups', (req, res, ctx) => res(ctx.json([]))),
rest.get('/api/endpoint_groups/:groupId', (req, res, ctx) => {
if (req.params.groupId instanceof Array) {
throw new Error('should be string');
}
const id = parseInt(req.params.groupId, 10);
const group: Partial<EnvironmentGroup> = {
Id: id,
Name: `group${id}`,
};
return res(ctx.json(group));
}),
rest.get('/api/tags', (req, res, ctx) => {
const tags: Tag[] = [
{ ID: 1, Name: 'tag1' },
{ ID: 2, Name: 'tag2' },
];
return res(ctx.json(tags));
}),
];