cvat/tests/cypress/e2e/features/webhooks.js

105 lines
3.4 KiB
JavaScript

// Copyright (C) CVAT.ai Corporation
//
// SPDX-License-Identifier: MIT
context('Webhooks pipeline.', () => {
const organizationParams = {
shortName: 'WebhooksOrg',
fullName: 'Organization full name. Only for test.',
description: 'This organization was created to test the functionality.',
email: 'testorganization@local.local',
phoneNumber: '+70000000000',
location: 'Country, State, Address, 000000',
};
const orgWebhookParams = {
targetURL: 'https://localhost:3001/organization',
description: 'Sample description',
secret: 'Super secret',
enableSSL: true,
isActive: true,
events: [
'project', 'job', 'task',
],
};
const projectWebhookParams = {
targetURL: 'https://localhost:3001/project',
description: 'Sample description',
secret: 'Super secret',
enableSSL: true,
isActive: true,
};
const newOrganizationWebhookParams = {
targetURL: 'https://localhost:3001/edited',
description: 'Edited description',
secret: 'Super secret',
enableSSL: true,
isActive: false,
events: [
'job',
],
};
const project = {
name: 'Project for webhooks',
label: 'car',
attrName: 'color',
attrValue: 'red',
multiAttrParams: false,
};
before(() => {
cy.visit('/auth/login');
cy.login();
cy.createOrganization(organizationParams);
cy.visit('/projects');
cy.createProjects(
project.name,
project.label,
project.attrName,
project.attrValue,
project.multiAttrParams,
);
});
after(() => {
cy.logout();
cy.getAuthKey().then((authKey) => {
cy.deleteProjects(authKey, [project.name]);
cy.deleteOrganizations(authKey, [organizationParams.shortName]);
});
});
describe('Test organization webhook', () => {
it('Open the organization. Create/update/delete webhook.', () => {
cy.openOrganization(organizationParams.shortName);
cy.openOrganizationWebhooks();
cy.createWebhook(orgWebhookParams);
cy.get('.cvat-webhooks-list').within(() => {
cy.contains(orgWebhookParams.description).should('exist');
cy.contains(orgWebhookParams.targetURL).should('exist');
});
cy.editWebhook(orgWebhookParams.description, newOrganizationWebhookParams);
cy.get('.cvat-webhooks-list').within(() => {
cy.contains(newOrganizationWebhookParams.description).should('exist');
cy.contains(newOrganizationWebhookParams.targetURL).should('exist');
});
cy.deleteWebhook(newOrganizationWebhookParams.description);
});
});
describe('Test project webhook', () => {
it('Open the project. Create webhook.', () => {
cy.goToProjectsList();
cy.openProject(project.name);
cy.openProjectWebhooks();
cy.createWebhook(projectWebhookParams);
cy.get('.cvat-webhooks-list').within(() => {
cy.contains(projectWebhookParams.description).should('exist');
cy.contains(projectWebhookParams.targetURL).should('exist');
});
});
});
});