Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> Co-authored-by: dukegreene <duke@forem.com>
72 lines
2.3 KiB
JavaScript
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');
|
|
});
|
|
});
|