mirror of
https://github.com/jc21/nginx-proxy-manager.git
synced 2024-08-30 18:22:48 +00:00
113 lines
3.2 KiB
JavaScript
113 lines
3.2 KiB
JavaScript
/// <reference types="Cypress" />
|
|
|
|
describe('Settings endpoints', () => {
|
|
let token;
|
|
let settingName;
|
|
|
|
before(() => {
|
|
cy.getToken().then((tok) => {
|
|
token = tok;
|
|
});
|
|
cy.randomString(12).then((str) => {
|
|
settingName = 'cypressSetting_' + str;
|
|
settingName = settingName.trim();
|
|
});
|
|
});
|
|
|
|
it('Should be able to create new setting', function() {
|
|
cy.task('backendApiPost', {
|
|
token: token,
|
|
path: '/api/settings',
|
|
data: {
|
|
name: settingName,
|
|
value: {
|
|
type: 'custom',
|
|
html: '<p>not found</p>'
|
|
}
|
|
}
|
|
}).then((data) => {
|
|
// Check the swagger schema:
|
|
cy.validateSwaggerSchema('post', 201, '/settings', data);
|
|
expect(data.result).to.have.property('id');
|
|
expect(data.result.id).to.be.greaterThan(0);
|
|
});
|
|
});
|
|
|
|
it('Should be able to get a setting', function() {
|
|
cy.task('backendApiGet', {
|
|
token: token,
|
|
path: '/api/settings/' + settingName
|
|
}).then((data) => {
|
|
// Check the swagger schema:
|
|
cy.validateSwaggerSchema('get', 200, '/settings/{name}', data);
|
|
expect(data.result).to.have.property('id');
|
|
expect(data.result).to.have.property('name', settingName);
|
|
expect(data.result.id).to.be.greaterThan(0);
|
|
});
|
|
});
|
|
|
|
it('Should be able to update a setting', function() {
|
|
cy.task('backendApiPut', {
|
|
token: token,
|
|
path: '/api/settings/' + settingName,
|
|
data: {
|
|
value: true
|
|
}
|
|
}).then((data) => {
|
|
// Check the swagger schema:
|
|
cy.validateSwaggerSchema('put', 200, '/settings/{name}', data);
|
|
expect(data.result).to.have.property('id');
|
|
expect(data.result).to.have.property('name', settingName);
|
|
expect(data.result.id).to.be.greaterThan(0);
|
|
});
|
|
});
|
|
|
|
it('Should be able to get all settings', function() {
|
|
cy.task('backendApiGet', {
|
|
token: token,
|
|
path: '/api/settings'
|
|
}).then((data) => {
|
|
cy.validateSwaggerSchema('get', 200, '/settings', data);
|
|
expect(data).to.have.property('result');
|
|
expect(data.result).to.have.property('items');
|
|
expect(data.result.items.length).to.be.greaterThan(0);
|
|
});
|
|
});
|
|
|
|
it('Should be able to get all settings with filters A', function() {
|
|
cy.task('backendApiGet', {
|
|
token: token,
|
|
path: '/api/settings?sort=name&name:starts=e&limit=1'
|
|
}).then((data) => {
|
|
cy.validateSwaggerSchema('get', 200, '/settings', data);
|
|
expect(data).to.have.property('result');
|
|
expect(data.result).to.have.property('items');
|
|
expect(data.result.items.length).to.be.greaterThan(0);
|
|
});
|
|
});
|
|
|
|
it('Should be able to get all settings with filters B', function() {
|
|
cy.task('backendApiGet', {
|
|
token: token,
|
|
path: '/api/settings?id:in=1,2,3,4,5&limit=1'
|
|
}).then((data) => {
|
|
cy.validateSwaggerSchema('get', 200, '/settings', data);
|
|
expect(data).to.have.property('result');
|
|
expect(data.result).to.have.property('items');
|
|
expect(data.result.items.length).to.be.greaterThan(0);
|
|
});
|
|
});
|
|
|
|
it('Should be able to get all settings with filters C', function() {
|
|
cy.task('backendApiGet', {
|
|
token: token,
|
|
path: '/api/settings?name:starts=xxxxxxxxxxxxxxx'
|
|
}).then((data) => {
|
|
cy.validateSwaggerSchema('get', 200, '/settings', data);
|
|
expect(data).to.have.property('result');
|
|
expect(data.result).to.have.property('total', 0);
|
|
});
|
|
});
|
|
|
|
});
|