Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Component Testing banner #26511

Closed
marktnoonan opened this issue Apr 15, 2023 · 6 comments · Fixed by #26625
Closed

Component Testing banner #26511

marktnoonan opened this issue Apr 15, 2023 · 6 comments · Fixed by #26625
Assignees

Comments

@marktnoonan
Copy link
Contributor

marktnoonan commented Apr 15, 2023

What would you like?

This will be a new banner using out existing banner system, like this (Design is accurate in this screenshot, for text please use the requirements below).

Screenshot 2023-05-03 at 9 00 26 AM

Example variations:

Screenshot 2023-05-03 at 10 12 22 AM

Rules

  • CT banner shows if:
  • there is no warning, error, or cloud banner to show
  • at least 1 day since the docs CI prompt was shown
  • at least 2 days since any cloud banner was dismissed
  • at least 4 days since first using Cypress
  • we detect a framework and bundler that would have automated setup
  • the banner has not already been dismissed
  • Cypress is in E2E mode
  • CT is not configured

Note: using the existing TrackedBanner component with isAllowedFeature and isBannerAllowed in SpecsListBanners.vue will provide some of this behavior out of the box. A new set of rules like isAllowedFeature('ctAvailableBanner') could be added just for this, which would allow the bannerToShow computed value to return a new CtAvaiableBanner component only if it would otherwise return null

Confirming CT banner was seen

We will add a new Banner ID (here) called CT_052023_AVAILABLE: 'ct_052023_available'
Make a new CtBannerAvailable component. Follow a similar pattern to how TrackedBanner is used in LoginBanner.vue
eventData for the TrackedBanner

{
      campaign: 'CT Available',
      medium: 'Specs CT Available Banner',
      cohort: ''
}

CT banner content

  • Title: {framework} component testing is available for this project
  • Title Icon: {framework} icon
  • Body: You can now use Cypress to develop and test individual components without running your whole application. Generate the config in just a few clicks.
  • Button 1: Quick setup
    • Goes to Project Setup in launchpad
    • Documents this via event-collect
    • see Cloud PR and internal issue
    • medium: CT Available Banner
    • cohort: ''
    • campaign: Quick setup
    • messageId
    • machineId
    • payload
      • framework
      • bundler
  • Link: Read our guide
    • Onlink to docs
    • on.cypress.io/component
    • UTM params to identify this banner was the source:
      • utm_medium: CT Available Banner
      • utm_source: default (Binary: App)
      • utm_campaign: Read our guide
      • utm_content: {framework}-{bundler}
    • Documents this via /event-collect with campaign Read our guide
  • Link: Give feedback

Dismissing the banner

  • Clicking the X
  • Clicking the Not Interested link
  • Dismissal is persisted in saved state at the project level

Why is this needed?

No response

Other

No response

@marktnoonan marktnoonan changed the title Component Testing Component Testing banner Apr 15, 2023
@marktnoonan
Copy link
Contributor Author

@baus I mentioned I would tag you in this one before I got out of town!

@lmiller1990
Copy link
Contributor

@lmiller1990
Copy link
Contributor

Let's make sure we document the conditions under which this shows and share with CX - customers might reach out based on this CTA.

@lmiller1990
Copy link
Contributor

It looks like some requirements are still not locked in - who do we need to unblock this?

@mike-plummer
Copy link
Contributor

mike-plummer commented May 1, 2023

@lmiller1990 @marktnoonan Implementation is mostly done, pending reqs are visual/analytics items

  1. Design & copy is not yet finalized - looking to nail this down by noon tomorrow
  2. Need UTM params for two links in this banner
  3. Need survey link so an onlink can be configured
  4. Potential new requirement around recording an event when users click the button to try setting up CT so we can track machines that have tried vs succeeded - new endpoint being implemented in cloud, Mark is going to decide whether it's targeted for this sprint or for a later sprint

@lmiller1990 lmiller1990 changed the title Component Testing banner [No Merge, pending design updates] Component Testing banner May 2, 2023
@lmiller1990 lmiller1990 changed the title [No Merge, pending design updates] Component Testing banner Component Testing banner May 2, 2023
@cypress-bot
Copy link
Contributor

cypress-bot bot commented May 9, 2023

Released in 12.12.0.

This comment thread has been locked. If you are still experiencing this issue after upgrading to
Cypress v12.12.0, please open a new issue.

@cypress-bot cypress-bot bot locked as resolved and limited conversation to collaborators May 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants