Cypress test for issue 1944 (#2055)

Co-authored-by: Dmitry Kruchinin <dmitryx.kruchinin@intel.com>
main
Dmitry Kruchinin 6 years ago committed by GitHub
parent 582e23bf88
commit 822a3b5578
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,62 @@
/*
* Copyright (C) 2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*/
/// <reference types="cypress" />
context('Being able to return to the job list for a task and start a new job without an infinite loading screen.', () => {
const issueId = '1944'
const labelName = `Issue ${issueId}`
const taskName = `New annotation task for ${labelName}`
const attrName = `Attr for ${labelName}`
const textDefaultValue = 'Some default value for type Text'
const imagesCount = 4
let images = []
for ( let i = 1; i <= imagesCount; i++) {
images.push(`image_${issueId}_${i}.png`)
}
const width = 800
const height = 800
const posX = 10
const posY = 10
const color = 'gray'
const archiveName = `images_issue_${issueId}.zip`
const archivePath = `cypress/fixtures/${archiveName}`
const imagesFolder = `cypress/fixtures/image_issue_${issueId}`
const directoryToArchive = imagesFolder
const multiJobs = true
before(() => {
cy.visit('auth/login')
cy.login()
for (let img of images) {
cy.imageGenerator(imagesFolder, img, width, height, color, posX, posY, labelName)
}
cy.createZipArchive(directoryToArchive, archivePath)
})
describe(`Testing issue "${issueId}"`, () => {
it('Create a multijob task', () => {
cy.createAnnotationTask(taskName, labelName, attrName, textDefaultValue, archiveName, multiJobs)
})
it('Open the task. Open first job', () => {
cy.openTaskJob(taskName)
cy.get('input[role="spinbutton"]')
.should('have.value', '0')
})
it('Return to tasks page', () => {
cy.get('[value="tasks"]').click()
cy.url().should('include', '/tasks').and('not.contain', '/jobs')
})
it('Open the task. Open second job', () => {
cy.openTaskJob(taskName, 1)
cy.get('.cvat-annotation-header')
.should('exist')
cy.get('input[role="spinbutton"]')
.should('have.value', '1')
})
})
})

@ -29,7 +29,9 @@ Cypress.Commands.add('createAnnotationTask', (taksName='New annotation task',
labelName='Some label',
attrName='Some attr name',
textDefaultValue='Some default value for type Text',
image='image.png') => {
image='image.png',
multiJobs=false,
segmentSize=1) => {
cy.contains('button', 'Create new task').click()
cy.url().should('include', '/tasks/create')
cy.get('[id="name"]').type(taksName)
@ -42,6 +44,11 @@ Cypress.Commands.add('createAnnotationTask', (taksName='New annotation task',
cy.get('[placeholder="Default value"]').type(textDefaultValue)
cy.contains('button', 'Done').click()
cy.get('input[type="file"]').attachFile(image, { subjectType: 'drag-n-drop' });
if (multiJobs) {
cy.contains('Advanced configuration').click()
cy.get('#segmentSize')
.type(segmentSize)
}
cy.contains('button', 'Submit').click()
cy.contains('The task has been created', {timeout: '8000'})
cy.get('[value="tasks"]').click()
@ -55,14 +62,18 @@ Cypress.Commands.add('openTask', (taskName) => {
.click()
})
Cypress.Commands.add('openJob', () => {
cy.contains('a', 'Job #').click()
Cypress.Commands.add('openJob', (jobNumber=0) => {
cy.get('.ant-table-tbody')
.find('tr')
.eq(jobNumber)
.contains('a', 'Job #')
.click()
cy.url().should('include', '/jobs')
})
Cypress.Commands.add('openTaskJob', (taskName) => {
Cypress.Commands.add('openTaskJob', (taskName, jobNumber=0) => {
cy.openTask(taskName)
cy.openJob()
cy.openJob(jobNumber)
})
Cypress.Commands.add('createShape', (firstX, firstY, lastX, lastY) => {

Loading…
Cancel
Save