reusable-tests.ts 1.8 KB

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