быстрый вопрос для всех, кто имеет опыт работы с React + Cypress - я пишу свой первый набор тестов E2E и вот что меня беспокоит:
cy.visit('http://movinito.docker.localhost:3000/company/subcontractors');
работает, но
cy.visit('/company/subcontractors');
не работает должным образом (перенаправляет меня на панель мониторинга после входа в систему и остается там, когда я пытаюсь указать путь, включающий «субподрядчиков»).
мой baseUrl в cypress.json равен
{"baseUrl": "http://react_frontend.movinito.docker.localhost:3000"}
и это обычно работает (в случае, если вы об этом подозревали).
Я бы хотел использовать более короткую и приятную версию cy.visit('/company/subcontractors');
вместо длинного сложного повторного типа baseUrl ...
Может быть важно добавить, что до .visit я использую
cy.request('POST', 'http://movinito.docker.localhost/user/login?_format=json', {name,pass});
чтобы [успешно] войти в систему ... Как я уже сказал, все работает, но я не могу использовать baseUrl и вынужден использовать команду .visit с полным URL-адресом на основе окружения ...
Вот [полный] полный тестовый код
describe('Subcontractors section', ()=> {
it('renders properly', ()=> {
const { name, pass } = {name: 'info@batcave.com', pass: '123#456'}
cy.request('POST', 'http://movinito.docker.localhost/user/login?_format=json', {
name,
pass
});
cy.visit('http://movinito.docker.localhost:3000/company/subcontractors');
//
// I want to replace the above line with cy.visit('/company/subcontractors')
//
cy.location('pathname').should('include', '/company/subcontractors');
cy.get('[data-cy=page-title]').should('have.text', 'Subcontractors');
})
});