Oii Leonardo, como você está?
Peço desculpas pela demora em obter um retorno.
Embora o Intellisense do Visual Studio Code não funcione para o comando login
mostrando autocomplete e argumentos esperados, isso não afeta o funcionamento do código. Sendo assim, execute os testes através do comando npm run test
e os testes "fazer login de usuário válido" e "fazer login de usuário inválido" terão sucesso.
A título de curiosidade, esse é um comportamento esperado do Cypress, que possui sua inteligência de código baseada em TypeScript. Então, quando trabalhamos com comandos customizados eles devem ser escritos nesta linguagem para que o Visual Studio Code os reconheça. Caso não seja escritos desta forma, o VSCode irá emitir o alerta: A propriedade pode não existir 'login' no tipo 'cy & EventEmitter'
, mas isso não impede o funcionamento correto do código.
Todavia, para fazer com que o comando login
seja reconhecido no Visual Studio Code, vá até a pasta support e crie o arquivo index.d.ts e adicione o código abaixo que contém uma declaração em TypeScript da função de login. Após isso, salve o arquivo index.d.ts:
/// <reference types="cypress" />
declare namespace Cypress {
interface Chainable<Subject> {
login(nome: string, senha: string): Chainable<any>
}
}
Agora, ao utilizar o comando login
o Visual Studio Code conseguirá reconhecê-lo:
Caso queira conhecer a linguagem TypeScript e suas possibilidades, deixo como recomendação o curso de Typescript parte 1 da Alura, que irá ensinar do zero esse recurso:
Qualquer dúvida fico à disposição.
Grande abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!