reusable-tests.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /* global cy */
  2. export const interceptCompanionUrlRequest = () => cy.intercept('http://localhost:3020/url/*').as('url')
  3. export const interceptCompanionUnsplashRequest = () => cy.intercept('http://localhost:3020/search/unsplash/*').as('unsplash')
  4. export function runRemoteUrlImageUploadTest () {
  5. cy.get('[data-cy="Url"]').click()
  6. cy.get('.uppy-Url-input').type('https://raw.githubusercontent.com/transloadit/uppy/main/e2e/cypress/fixtures/images/cat.jpg')
  7. cy.get('.uppy-Url-importButton').click()
  8. cy.get('.uppy-StatusBar-actionBtn--upload').click()
  9. cy.wait('@url').then(() => {
  10. cy.get('.uppy-StatusBar-statusPrimary').should('contain', 'Complete')
  11. })
  12. }
  13. export function runRemoteUnsplashUploadTest () {
  14. cy.get('[data-cy="Unsplash"]').click()
  15. cy.get('.uppy-SearchProvider-input').type('book')
  16. cy.get('.uppy-SearchProvider-searchButton').click()
  17. cy.wait('@unsplash')
  18. // Test that the author link is visible
  19. cy.get('.uppy-ProviderBrowserItem')
  20. .first()
  21. .within(() => {
  22. cy.root().click()
  23. // We have hover states that show the author
  24. // but we don't have hover in e2e, so we focus after the click
  25. // to get the same effect. Also tests keyboard users this way.
  26. cy.get('input[type="checkbox"]').focus()
  27. cy.get('a').should('have.css', 'display', 'block')
  28. })
  29. cy.get('.uppy-c-btn-primary').click()
  30. cy.get('.uppy-StatusBar-actionBtn--upload').click()
  31. cy.wait('@unsplash').then(() => {
  32. cy.get('.uppy-StatusBar-statusPrimary').should('contain', 'Complete')
  33. })
  34. }