docbrown/cypress/e2e/seededFlows/listingFlows/viewListing.spec.js
depfu[bot] 952ffaac4e
[js] Update eslint-plugin-cypress 2.12.1 → 2.15.1 (minor) (#20168)
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
Co-authored-by: dukegreene <duke@forem.com>
2023-09-28 11:52:47 -04:00

72 lines
2.3 KiB
JavaScript

describe('View listing', () => {
beforeEach(() => {
cy.testSetup();
cy.viewport('macbook-16');
cy.enableFeatureFlag('listing_feature');
cy.visit('/');
});
it('opens a listing from the Feed page', () => {
cy.findByText('Listing title').click();
cy.findByTestId('listings-modal').as('listingsModal');
cy.get('@listingsModal').findByText('Listing').should('exist');
cy.get('@listingsModal').findByText('Listing title').should('exist');
cy.get('@listingsModal')
.findAllByRole('button')
.first()
.should('have.focus');
cy.get('@listingsModal').findByRole('button', { name: /Close/ }).click();
cy.get('@listingsModal').should('not.exist');
});
it('opens a listing from the listings page', () => {
cy.intercept(
'/search/listings?category=&listing_search=&page=0&per_page=75&tag_boolean_mode=all',
{ fixture: 'search/listings.json' },
);
cy.visit('/listings');
cy.findByRole('link', { name: 'Listing title' }).as('listingTitle');
cy.get('@listingTitle').click();
cy.findByTestId('listings-modal').as('listingsModal');
cy.get('@listingsModal').findByText('Listing').should('exist');
cy.get('@listingsModal').findByText('Listing title').should('exist');
cy.get('@listingsModal')
.findAllByRole('button')
.first()
.should('have.focus');
cy.get('@listingsModal').findByRole('button', { name: /Close/ }).click();
cy.get('@listingTitle').should('have.focus');
});
it("closes opened listing when a user clicks its category's title in the modal's author block", () => {
cy.intercept(
'/search/listings?category=&listing_search=&page=0&per_page=75&tag_boolean_mode=all',
{ fixture: 'search/listings.json' },
);
cy.visit('/listings');
cy.findByRole('main')
.findByRole('link', { name: 'Listing title' })
.as('listingTitle');
cy.get('@listingTitle').focus();
cy.get('@listingTitle').click();
cy.findByTestId('listings-modal').as('listingsModal');
cy.get('@listingsModal')
.findByRole('link', { name: 'cfp' })
.as('listingCategory');
cy.get('@listingCategory').focus();
cy.get('@listingCategory').click();
cy.findByTestId('listings-modal').should('not.exist');
cy.get('@listingTitle').should('be.focused');
});
});