describe('Todo App E2E', () => { beforeEach(() => { cy.request('DELETE', 'http://localhost:8000/api/todos'); cy.visit('/'); }); it('creates a new todo', () => { cy.get('input[placeholder="New todo"]').type('Write tests{enter}'); cy.contains('Write tests').should('exist'); }); it('toggles a todo', () => { cy.get('input[placeholder="New todo"]').type('Toggle me{enter}'); cy.contains('Toggle me') .parent() .find('input[type="checkbox"]') .check(); cy.contains('Toggle me').should('have.css', 'text-decoration-line', 'line-through'); }); it('deletes a todo', () => { cy.get('input[placeholder="New todo"]').type('Delete me{enter}'); cy.contains('Delete me') .parent() .find('button') .click(); cy.contains('Delete me').should('not.exist'); }); });