0
Fork 0
mirror of https://github.com/logto-io/logto.git synced 2024-12-23 20:33:16 -05:00
logto/packages/integration-tests/tests/api/application.test.ts

60 lines
2.1 KiB
TypeScript
Raw Normal View History

import { ApplicationType } from '@logto/schemas';
import { demoAppApplicationId } from '@logto/schemas/lib/seeds';
import { HTTPError } from 'got';
import { createApplication, getApplication, updateApplication, deleteApplication } from '@/api';
describe('admin console application', () => {
it('should get demo app details successfully', async () => {
const demoApp = await getApplication(demoAppApplicationId);
expect(demoApp.id).toBe(demoAppApplicationId);
});
it('should create application successfully', async () => {
const applicationName = 'test-create-app';
const applicationType = ApplicationType.SPA;
const application = await createApplication(applicationName, applicationType);
expect(application.name).toBe(applicationName);
expect(application.type).toBe(applicationType);
const fetchedApplication = await getApplication(application.id);
expect(fetchedApplication.name).toBe(applicationName);
expect(fetchedApplication.id).toBe(application.id);
});
it('should update application details successfully', async () => {
const application = await createApplication('test-update-app', ApplicationType.SPA);
const newApplicationDescription = `new_${application.description ?? ''}`;
const newRedirectUris = application.oidcClientMetadata.redirectUris.concat([
'https://logto.dev/callback',
]);
await updateApplication(application.id, {
description: newApplicationDescription,
oidcClientMetadata: {
redirectUris: newRedirectUris,
},
});
const updatedApplication = await getApplication(application.id);
expect(updatedApplication.description).toBe(newApplicationDescription);
expect(updatedApplication.oidcClientMetadata.redirectUris).toEqual(newRedirectUris);
});
it('should delete application successfully', async () => {
const application = await createApplication('test-delete-app', ApplicationType.SPA);
await deleteApplication(application.id);
const response = await getApplication(application.id).catch((error: unknown) => error);
expect(response instanceof HTTPError && response.response.statusCode === 404).toBe(true);
});
});