eslint não funciona!! Mesmo seguindo todas as orientacoes do forum, uso da Luri, video aula, o eslint nao funciona como é mostrado na aula.
npm run lint
> lint
> eslint cypress/**/*.js && eslint cypress.config.js
2:1 error 'describe' is not defined no-undef
3:5 error 'it' is not defined no-undef
4:7 error 'cy' is not defined no-undef
Arquivo eslint.config.mjs
import globals from "globals";
import pluginJs from "@eslint/js";
/** @type {import('eslint').Linter.Config[]} */
export default [
{languageOptions: { globals: {...globals.browser, ...globals.node} }},
pluginJs.configs.recommended,
];
Arquivo .eslintrc.json
{
"env": {
"cypress/globals": true,
"mocha": true
},
"extends": [
"plugin:cypress/recommended"
],
"plugins": [
"cypress"
],
"rules": {
"cypress/no-assigning-return-values": "error",
"cypress/no-unnecessary-waiting": "error",
"cypress/assertion-before-screenshot": "warn",
"cypress/no-force": "warn",
"cypress/no-async-tests": "error",
"cypress/no-pause": "error"
}
}
cadastro-sucesso.cy.js
/* eslint-env mocha, cypress */
describe('Teste simples', () => {
it('deve passar', () => {
cy.visit('http://localhost:3000');
});
});
// describe('Página de cadastro', () => {
// beforeEach(() => {
// cy.visit('http://localhost:3000');
// })
// it('Clica no link "Cadastra-se" e redireciona para a página de cadastro da clínica', () => {
// cy.get('[href="/cadastro"]').click();
// cy.location('pathname').should('equal', '/cadastro'); // Asserção para verificar o redirecionamento
// })
// context('Primeira parte da sessão de cadastro', () => {
// it('Digita dados da clínica e exibe a área para inserção de dados técnicos', () => {
// cy.get('[href="/cadastro"]').click();
// cy.get('[data-test="inputNome"]').type('Catarina P');
// cy.get('[data-test="inputCNPJ"]').type('12598432');
// cy.get('[data-test="inputEmail"]').type('catarina@email.com');
// cy.get('[data-test="inputSenha"]').type('Senha123');
// cy.get('[data-test="inputSenhaVerificada"]').type('Senha123');
// cy.get('.sc-bcXHqe').click();
// cy.contains('h2', 'Agora, os dados técnicos:').should('be.visible'); // Asserção para verificar a visibilidade
// cy.get('.sc-laZRCg').should('exist').should('be.visible'); // Asserção para verificar a existência
// })
// })
// context('Sessão de cadastro completa', () => {
// it('Cadastra uma clínica', () => {
// cy.get('[href="/cadastro"]').click();
// cy.get('[data-test="inputNome"]').type('Catarina P');
// cy.get('[data-test="inputCNPJ"]').type('12598432');
// cy.get('[data-test="inputEmail"]').type('catarina@email.com');
// cy.get('[data-test="inputSenha"]').type('Senha123');
// cy.get('[data-test="inputSenhaVerificada"]').type('Senha123');
// cy.get('.sc-bcXHqe').click()
// cy.get('[data-test="inputTelefone"]').type('9999999999');
// cy.get('[data-test="inputCEP"]').type('99999999');
// cy.get('[data-test="inputRua"]').type('Salvatori');
// cy.get('[data-test="inputNumero"]').type('999');
// cy.get('[data-test="inputComplemento"]').type('Irmãos salvatori');
// cy.get('[data-test="inputEstado"]').type('BA');
// cy.contains('Cadastrar').click();
// cy.location('pathname').should('equal', '/login');
// })
// })
// });
Arquivo package.json
{
"scripts": {
"lint": "eslint cypress/**/*.js && eslint cypress.config.js",
"lint:fix": "eslint cypress/**/*.js --fix && eslint cypress.config.js --fix",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@eslint/js": "^9.19.0",
"eslint": "^9.19.0",
"eslint-plugin-cypress": "^4.1.0",
"globals": "^15.14.0",
"mochawesome": "^7.1.3"
},
"dependencies": {
"cypress": "^14.0.1"
}
}
Notei algumas configuraçoes diferentes no video e que nao foram explicadas de como fazer, entao o package.json está um pouco diferente. Algumas configs como o uso explícito do "mocha", foram sugestoes da Luri.