mirror of
https://github.com/transloadit/uppy.git
synced 2026-08-05 00:04:06 +00:00
* stream upload unknown size files behind a new option streamingUploadSizeless COMPANION_STREAMING_UPLOAD_SIZELESS for tus * allow for all upload protocols seems to be working closes #5305 * refactor and fix bug where progress was not always emitted * fix type * fix progress throttling only do it on total progress * Improve progress in UI - only show progress percent and total bytes for files that we know the size of. (but all files will still be included in number of files) - use `null` as an unknown value for progress and ETA, allowing us to remove ETA from UI when unknown - `percentage` make use of `undefined` when progress is not yet known - don't show percentage in UI when unknown - add a new state field `progress` that's the same as `totalProgress` but can also be `null` * fix build error * format * fix progress when upload complete * use execa for companion load balancer if not, then it leaves zombie companion instances running in the background when e2e stops have to be manually killed before running e2e again * update docs and tests for new state.progress * revert progress/totalProgress * improve doc * remove option streamingUploadSizeless we agreed that this can be considered not a breaking change * change progress the to "of unknown" * revert * remove companion doc * add e2e test
54 lines
1.8 KiB
TypeScript
54 lines
1.8 KiB
TypeScript
/* global cy */
|
|
|
|
export const interceptCompanionUrlRequest = () =>
|
|
cy
|
|
.intercept({ method: 'POST', url: 'http://localhost:3020/url/get' })
|
|
.as('url')
|
|
export const interceptCompanionUrlMetaRequest = () =>
|
|
cy
|
|
.intercept({ method: 'POST', url: 'http://localhost:3020/url/meta' })
|
|
.as('url-meta')
|
|
|
|
export function runRemoteUrlImageUploadTest() {
|
|
cy.get('[data-cy="Url"]').click()
|
|
cy.get('.uppy-Url-input').type(
|
|
'https://raw.githubusercontent.com/transloadit/uppy/main/e2e/cypress/fixtures/images/cat.jpg',
|
|
)
|
|
cy.get('.uppy-Url-importButton').click()
|
|
interceptCompanionUrlRequest()
|
|
cy.get('.uppy-StatusBar-actionBtn--upload').click()
|
|
cy.wait('@url').then(() => {
|
|
cy.get('.uppy-StatusBar-statusPrimary').should('contain', 'Complete')
|
|
})
|
|
}
|
|
|
|
export function runRemoteUnsplashUploadTest() {
|
|
cy.get('[data-cy="Unsplash"]').click()
|
|
cy.get('.uppy-SearchProvider-input').type('book')
|
|
cy.intercept({
|
|
method: 'GET',
|
|
url: 'http://localhost:3020/search/unsplash/list?q=book',
|
|
}).as('unsplash-list')
|
|
cy.get('.uppy-SearchProvider-searchButton').click()
|
|
cy.wait('@unsplash-list')
|
|
// Test that the author link is visible
|
|
cy.get('.uppy-ProviderBrowserItem')
|
|
.first()
|
|
.within(() => {
|
|
cy.root().click()
|
|
// We have hover states that show the author
|
|
// but we don't have hover in e2e, so we focus after the click
|
|
// to get the same effect. Also tests keyboard users this way.
|
|
cy.get('input[type="checkbox"]').focus()
|
|
cy.get('a').should('have.css', 'display', 'block')
|
|
})
|
|
cy.get('.uppy-c-btn-primary').click()
|
|
cy.intercept({
|
|
method: 'POST',
|
|
url: 'http://localhost:3020/search/unsplash/get/*',
|
|
}).as('unsplash-get')
|
|
cy.get('.uppy-StatusBar-actionBtn--upload').click()
|
|
cy.wait('@unsplash-get').then(() => {
|
|
cy.get('.uppy-StatusBar-statusPrimary').should('contain', 'Complete')
|
|
})
|
|
}
|