Gherkin workflows for desktop (#788)

* Add gherkin tests for page navigation links

- test that every page will load when navigating from any other page
- update snapshots

* Add gherkin workflows 2 - 5

- add test for Federal program officer key information and CTA
- add test for Community members key information and CTA
- add test for Send feedback
- add test for Join the Open Source community
- update snapshots

* Add gherkin tests for footer links

- add footerlinks feature gherkin file
- adds a comment to the hyphenizeString()
- adds keyword functions for footer
- adds data-cy tags to footer component
- updates snapshots

* Adds workflow to learn more about EO

* Add gherkin test for dataset links

- add data-cy tags to dataset sections
- modify Cy command functions names
- update snapshots

* Add cypress test to deploy_staging.yml

* Add working directory env

* Remove keywords.js from cypress test

* Add a Then step to all About and Footer tests

* Refactor step definitions

- use globalStepDefinitions
- rename keywords to commonSteps
- remove keyword from exclusion list
This commit is contained in:
Vim 2021-10-13 14:06:05 -07:00 committed by GitHub
commit 92d76fb6f4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 295 additions and 71 deletions

View file

@ -7,6 +7,7 @@ import {NavList} from '@trussworks/react-uswds';
import {useIntl} from 'gatsby-plugin-intl';
import J40MainGridContainer from './J40MainGridContainer';
import {hyphenizeString} from '../../cypress/integration/common/helpers';
// @ts-ignore
import whitehouseIcon from '../images/eop-seal.svg';
@ -37,19 +38,24 @@ const J40Footer = () => {
key={'whitehouselink2'}
href={'https://www.whitehouse.gov/'}
target={'_blank'}
rel={'noreferrer'}>Whitehouse.gov</a>,
rel={'noreferrer'}
data-cy={hyphenizeString(COMMON_COPY.FOOTER.WHITEHOUSE.defaultMessage)}>
{intl.formatMessage(COMMON_COPY.FOOTER.WHITEHOUSE)}
</a>,
<a
key="foialink"
target={'_blank'}
rel={'noreferrer'}
href={'https://www.whitehouse.gov/ceq/foia'}>
href={'https://www.whitehouse.gov/ceq/foia'}
data-cy={hyphenizeString(COMMON_COPY.FOOTER.FOIA.defaultMessage)}>
{intl.formatMessage(COMMON_COPY.FOOTER.FOIA)}
</a>,
<a
key={'privacylink'}
target={'_blank'}
rel={'noreferrer'}
href={'https://www.whitehouse.gov/privacy/'}>
href={'https://www.whitehouse.gov/privacy/'}
data-cy={hyphenizeString(COMMON_COPY.FOOTER.PRIVACY.defaultMessage)}>
{intl.formatMessage(COMMON_COPY.FOOTER.PRIVACY)}
</a>,
],
@ -58,7 +64,8 @@ const J40Footer = () => {
<a
className={'footer-link-first-child'}
key={'contactlink'}
href={'https://www.usa.gov/'}>
href={'https://www.usa.gov/'}
data-cy={hyphenizeString(COMMON_COPY.FOOTER.CONTACT_LINK.defaultMessage)}>
{intl.formatMessage(COMMON_COPY.FOOTER.CONTACT_LINK)}
</a>,
],
@ -71,11 +78,12 @@ const J40Footer = () => {
// `className="mobile-lg:grid-col-6 desktop:grid-col-3">` needs to be
// `className="mobile-lg:grid-col-12 desktop:grid-col-4">` ugh.
<footer className={'j40-footer'}>
<div className="usa-footer__primary-section pb2">
<div className="usa-footer__primary-section pb2" data-cy={`footer-primary-block`}>
<J40MainGridContainer>
<div className={'grid-row tablet-lg:grid-col4'}>
{NAVLINKS.map((links, i) => (
<div key={`linkSection-${i}`}
<div
key={`linkSection-${i}`}
className="mobile-lg:grid-col-12 desktop:grid-col-4">
<NavSection links={links} />
</div>