Add check finished, typing delay

This commit is contained in:
Annie Huang committed 2023-12-03 19:16:02 +08:00
1 parent 7a3b6b1cfb
commit 10ac3c720e
1 file changed
+26 -2
+26 -2
View File
@@ -38,7 +38,9 @@ Cypress.Commands.add('InitTerminal', () => {
cy.log('Check terminal init done')
})
Cypress.Commands.add('typeInCommand', (command) => {
cy.get('.xterm-screen', { timeout: 150000 }).type(command, { delay: 10 })
cy.get('.xterm-screen', { timeout: 150000 }).type(command, {
delay: 100,
})
})
Cypress.Commands.add('getQuestInfo', (id) => {
return cy
@@ -60,7 +62,7 @@ Cypress.Commands.add('waitUntilActive', () => {
cy.get('input[id="currentStatus"]', { timeout: 1000000 })
.invoke('val')
.then((value) => {
if (value === 'active' || value === 'finished') {
if (value === 'active') {
cy.log('story ends')
return
}
@@ -68,6 +70,22 @@ Cypress.Commands.add('waitUntilActive', () => {
cy.waitUntilActive()
})
})
Cypress.Commands.add('checkFinished', () => {
cy.get('input[id="currentStatus"]', { timeout: 1000000 })
.invoke('val')
.then((value) => {
if (value === 'finished') {
cy.log(value)
cy.log('Quest Finished')
return
}
if (value === 'pending') {
cy.log(value)
cy.typeInCommand('{enter}')
cy.checkFinished()
}
})
})
Cypress.Commands.add('checkPending', () => {
cy.get('input[id="currentStatus"]', { timeout: 1000000 }).should(
'have.value',
@@ -91,6 +109,12 @@ Cypress.Commands.add('CompleteStageWithCommands', (stagename) => {
cy.checkPending()
cy.waitUntilActive()
}
if (answerarr.indexOf(element) + 1 === answerarr.length) {
cy.checkFinished()
cy.CheckTextElement('#QuestCompleted', '關卡完成!', 'Quest Completed!')
cy.get('div[class="modal"]').find('p').should('be.visible')
cy.get('#BacktoMap').should('be.visible').and('contain', '回到地圖')
}
}
})
})