reusable-tests.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  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')
  10. cy.get('.uppy-StatusBar-statusPrimary').should('contain', 'Complete')
  11. }
  12. export function runRemoteUnsplashUploadTest () {
  13. cy.get('[data-cy="Unsplash"]').click()
  14. cy.get('.uppy-SearchProvider-input').type('book')
  15. cy.get('.uppy-SearchProvider-searchButton').click()
  16. cy.wait('@unsplash')
  17. // Test that the author link is visible
  18. cy.get('.uppy-ProviderBrowserItem')
  19. .first()
  20. .within(() => {
  21. cy.root().click()
  22. // We have hover states that show the author
  23. // but we don't have hover in e2e, so we focus after the click
  24. // to get the same effect. Also tests keyboard users this way.
  25. cy.get('input[type="checkbox"]').focus()
  26. cy.get('a').should('have.css', 'display', 'block')
  27. })
  28. cy.get('.uppy-c-btn-primary').click()
  29. cy.get('.uppy-StatusBar-actionBtn--upload').click()
  30. cy.wait('@unsplash')
  31. cy.get('.uppy-StatusBar-statusPrimary').should('contain', 'Complete')
  32. }