Cypress test. Cloud Storage page. (#3697)

* Added test for check Cloud Storage page.

* Applying comments

* Fix movingTask command

* Replace comment

* Try to fix case 5
main
Dmitry Kruchinin 4 years ago committed by GitHub
parent 9551fea4cc
commit e27c922408
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,125 @@
// Copyright (C) 2021 Intel Corporation
//
// SPDX-License-Identifier: MIT
/// <reference types="cypress" />
context('Cloud storage.', () => {
const caseId = '105';
const cloudStorageFormElements = [
'#display_name',
'#description',
'#provider_type',
'.cvat-add-manifest-button',
'.cvat-cloud-storage-reset-button',
'.cvat-cloud-storage-submit-button',
];
const dummyData = {
manifest: 'manifest.jsonl',
resource: 'container',
display_name: 'Demonstration container',
}
before(() => {
cy.visit('auth/login');
cy.login();
});
describe(`Testing case "${caseId}"`, () => {
it('Check "Cloud Storage" page.', () => {
cy.contains('.cvat-header-button', 'Cloud Storages').should('be.visible').click();
cy.get('.cvat-empty-cloud-storages-list').should('be.visible');
cy.get('.cvat-attach-cloud-storage-button').should('be.visible').click();
cy.get('.cvat-cloud-storage-form').should('be.visible').within(() => {
cloudStorageFormElements.forEach(($el) => {
cy.get($el).should('exist');
});
});
// Check add/remove manifest file
cy.get('.cvat-add-manifest-button').should('be.visible').click();
cy.get('[placeholder="manifest.jsonl"]')
.should('exist')
.should('have.attr', 'value', '')
.type(dummyData.manifest)
.should('have.attr', 'value', dummyData.manifest);
cy.get('[data-icon="minus-circle"]').should('be.visible').click();
cy.get('[placeholder="manifest.jsonl"]').should('not.exist');
});
it('Check "AWS S3" provider fields.', () => {
cy.get('#display_name')
.type(dummyData.display_name)
.should('have.attr', 'value', dummyData.display_name);
cy.get('#provider_type').click();
cy.contains('.cvat-cloud-storage-select-provider', 'AWS').click();
cy.get('#resource')
.should('exist')
.type(dummyData.resource)
.should('have.attr', 'value', dummyData.resource);
// Check fields with "Key id and secret access key pair"
cy.get('#credentials_type').should('exist').click();
cy.get('.ant-select-dropdown')
.not('.ant-select-dropdown-hidden')
.get('[title="Key id and secret access key pair"]')
.should('be.visible')
.click();
cy.get('#key').should('exist');
cy.get('#secret_key').should('exist');
// Check fields with "Anonymous access"
cy.get('[title="Key id and secret access key pair"]').first().click();
cy.get('.ant-select-dropdown')
.not('.ant-select-dropdown-hidden')
.get('[title="Anonymous access"]')
.should('be.visible')
.click();
cy.get('#key').should('not.exist');
cy.get('#secret_key').should('not.exist');
cy.get('#region').should('exist').click();
cy.get('.ant-select-dropdown')
.not('.ant-select-dropdown-hidden')
.get('.cvat-cloud-storage-region-creator')
.should('be.visible')
.within(() => {
cy.contains('button', 'Add region').click()
});
cy.get('.cvat-incorrect-add-region-notification').should('exist');
cy.closeNotification('.cvat-incorrect-add-region-notification');
});
it('Check "Azure Blob Container" provider fields.', () => {
cy.contains('.cvat-cloud-storage-select-provider', 'AWS').click();
cy.contains('.cvat-cloud-storage-select-provider', 'Azure').click();
// Check fields with "Account name and SAS token"
cy.get('#credentials_type').should('exist').click();
cy.get('.ant-select-dropdown')
.not('.ant-select-dropdown-hidden')
.get('[title="Account name and SAS token"]')
.should('be.visible')
.click();
cy.get('#account_name').should('exist');
cy.get('#SAS_token').should('exist');
// Check fields with "Anonymous access"
cy.get('[title="Account name and SAS token"]').first().click();
cy.get('.ant-select-dropdown')
.not('.ant-select-dropdown-hidden')
.get('[title="Anonymous access"]')
.should('be.visible')
.click();
cy.get('#account_name').should('exist');
cy.get('#SAS_token').should('not.exist');
cy.get('.cvat-cloud-storage-reset-button').click();
cy.get('.cvat-cloud-storage-form').should('not.exist');
});
it('Check select files from "Cloud Storage" when creating a task.', () => {
cy.contains('.cvat-header-button', 'Tasks').click();
cy.get('#cvat-create-task-button').should('be.visible').click();
cy.get('.cvat-create-task-content').should('be.visible').within(() => {
cy.contains('[role="tab"]', 'Cloud Storage').click();
cy.get('#cloudStorageSelect').should('exist');
});
});
});
});

@ -36,6 +36,7 @@ context('Check if the image is rotated', () => {
cy.get('#cvat_canvas_content').dblclick();
cy.get('#cvat_canvas_background').should('have.attr', 'style').and('contain', scaleBefore);
});
cy.get('.cvat-rotate-canvas-popover-visible').should('not.exist');
}
before(() => {

@ -128,16 +128,20 @@ Cypress.Commands.add('movingTask', (taskName, projectName, labelMappingFrom, lab
.click();
cy.get('.cvat-task-move-modal').find('.cvat-project-search-field').click();
cy.get('.ant-select-dropdown')
.not('.ant-select-dropdown-hidden')
.last()
.should('be.visible')
.within(() => {
cy.get(`[title="${projectName}"]`).click();
});
if (labelMappingFrom !== labelMappingTo) {
cy.get('.cvat-move-task-label-mapper-item').within(() => {
cy.contains(labelMappingFrom).should('exist');
cy.get('.cvat-move-task-label-mapper-item-select').click();
cy.get('.cvat-move-task-label-mapper-item-select').should('be.visible').click();
});
cy.get('.ant-select-dropdown').not('.ant-select-dropdown-hidden').find(`[title="${labelMappingTo}"]`).click();
cy.get('.ant-select-dropdown')
.last()
.should('be.visible')
.find(`[title="${labelMappingTo}"]`).click();
} else {
cy.get('.cvat-move-task-label-mapper-item').within(() => {
cy.get('.cvat-move-task-label-mapper-item-select').should('have.text', labelMappingFrom);

Loading…
Cancel
Save