import { createStore } from 'jotai';
import { Method } from '..';
import Module from '.';
import LicensedModule from './LicensedModule';
const initializeModule = (): void => {
cy.mount({
Component: (
Module
)
});
};
const initializeModuleWithValidLicense = (
isFederatedComponent = false
): void => {
cy.interceptAPIRequest({
alias: 'getValidLicense',
method: Method.GET,
path: './api/internal.php?object=centreon_license_manager&action=licenseValid&productName=valid',
response: {
success: true
}
});
cy.mount({
Component: (
)
});
};
const initializeModuleWithInvalidLicense = (
isFederatedComponent = false
): void => {
cy.interceptAPIRequest({
alias: 'getInvalidLicense',
method: Method.GET,
path: './api/internal.php?object=centreon_license_manager&action=licenseValid&productName=invalid',
response: {
success: false
}
});
cy.mount({
Component: (
)
});
};
describe('Module', () => {
beforeEach(() => {
initializeModule();
});
it('displays the content of the module', () => {
cy.contains('Module').should('be.visible');
cy.makeSnapshot();
});
});
describe('Valid license module', () => {
it('displays the content of the page when the license is valid license', () => {
initializeModuleWithValidLicense();
cy.waitForRequest('@getValidLicense');
cy.contains('Module').should('be.visible');
cy.makeSnapshot();
});
it('displays the content of the component when the license is valid license', () => {
initializeModuleWithValidLicense(true);
cy.contains('Module').should('be.visible');
cy.makeSnapshot();
});
});
describe('Invalid license module', () => {
it('displays the content of the page when the license is invalid license', () => {
initializeModuleWithInvalidLicense();
cy.waitForRequest('@getInvalidLicense');
cy.contains('Module').should('not.exist');
cy.contains('Oops').should('be.visible');
cy.contains('License invalid or expired').should('be.visible');
cy.contains('Please contact your administrator.').should('be.visible');
cy.get('img[alt="License invalid or expired !"]').should('be.visible');
cy.get('img[alt="Centreon Logo"]').should('be.visible');
cy.makeSnapshot();
});
it('displays the content of the module when the license is invalid license', () => {
initializeModuleWithInvalidLicense(true);
cy.contains('Module').should('not.exist');
cy.makeSnapshot();
});
});