mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-06-04 11:25:52 +08:00
129 lines
2.6 KiB
TypeScript
129 lines
2.6 KiB
TypeScript
/// <reference types="cypress" />
|
|
|
|
import ROUTES from 'constants/routes';
|
|
|
|
import defaultRules from '../../fixtures/defaultRules.json';
|
|
|
|
describe('Alerts', () => {
|
|
beforeEach(() => {
|
|
window.localStorage.setItem('isLoggedIn', 'yes');
|
|
|
|
cy
|
|
.intercept('get', '*rules*', {
|
|
fixture: 'defaultRules',
|
|
})
|
|
.as('defaultRules');
|
|
|
|
cy.visit(Cypress.env('baseUrl') + `${ROUTES.LIST_ALL_ALERT}`);
|
|
|
|
cy.wait('@defaultRules');
|
|
});
|
|
|
|
it('Edit Rules Page Failure', async () => {
|
|
cy
|
|
.intercept('**/rules/**', {
|
|
statusCode: 500,
|
|
})
|
|
.as('Get Rules Error');
|
|
|
|
cy.get('button.ant-btn.ant-btn-link:nth-child(2)').then((e) => {
|
|
const firstDelete = e[0];
|
|
firstDelete.click();
|
|
|
|
cy.waitFor('@Get Rules Error');
|
|
|
|
cy
|
|
.window()
|
|
.location()
|
|
.then((e) => {
|
|
expect(e.pathname).to.be.equals(`/alerts/edit/1`);
|
|
});
|
|
|
|
cy.findByText('Something went wrong').then((e) => {
|
|
expect(e.length).to.be.equals(1);
|
|
});
|
|
});
|
|
});
|
|
|
|
it('Edit Rules Page Success', async () => {
|
|
const text = 'this is the sample value';
|
|
|
|
cy
|
|
.intercept('**/rules/**', {
|
|
statusCode: 200,
|
|
body: {
|
|
data: {
|
|
data: text,
|
|
},
|
|
},
|
|
})
|
|
.as('Get Rules Success');
|
|
|
|
cy.get('button.ant-btn.ant-btn-link:nth-child(2)').then((e) => {
|
|
const firstDelete = e[0];
|
|
firstDelete.click();
|
|
|
|
cy.waitFor('@Get Rules Success');
|
|
|
|
cy.wait(1000);
|
|
|
|
cy.findByText('Save').then((e) => {
|
|
const [el] = e.get();
|
|
|
|
el.click();
|
|
});
|
|
});
|
|
});
|
|
|
|
it('All Rules are rendered correctly', async () => {
|
|
cy
|
|
.window()
|
|
.location()
|
|
.then(({ pathname }) => {
|
|
expect(pathname).to.be.equals(ROUTES.LIST_ALL_ALERT);
|
|
|
|
cy.get('tbody').then((e) => {
|
|
const tarray = e.children().get();
|
|
|
|
expect(tarray.length).to.be.equals(3);
|
|
|
|
tarray.forEach(({ children }, index) => {
|
|
const name = children[1]?.textContent;
|
|
const label = children[2]?.textContent;
|
|
|
|
expect(name).to.be.equals(defaultRules.data.rules[index].name);
|
|
|
|
const defaultLabels = defaultRules.data.rules[index].labels;
|
|
|
|
expect(label).to.be.equals(defaultLabels['severity']);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
it('Rules are Deleted', async () => {
|
|
cy
|
|
.intercept('**/rules/**', {
|
|
body: {
|
|
data: 'Deleted',
|
|
message: 'Success',
|
|
},
|
|
statusCode: 200,
|
|
})
|
|
.as('deleteRules');
|
|
|
|
cy.get('button.ant-btn.ant-btn-link:first-child').then((e) => {
|
|
const firstDelete = e[0];
|
|
|
|
firstDelete.click();
|
|
});
|
|
|
|
cy.wait('@deleteRules');
|
|
|
|
cy.get('tbody').then((e) => {
|
|
const trray = e.children().get();
|
|
expect(trray.length).to.be.equals(2);
|
|
});
|
|
});
|
|
});
|