Skip to content

Commit

Permalink
Add cypress upload test for subgenre (#3833)
Browse files Browse the repository at this point in the history
Co-authored-by: amendelsohn <andrew.j.mendelsohn@gmail.com>
  • Loading branch information
raymondjacobson and amendelsohn committed Aug 1, 2023
1 parent 8a76f7c commit 18616df
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 0 deletions.
1 change: 1 addition & 0 deletions packages/probers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ To run a against staging

```
npm run cypress:run-stage
npm run cypress:open-stage
```

**IMPORTANT: Probers by default will make accounts. Don't do this against prod.**
71 changes: 71 additions & 0 deletions packages/probers/cypress/e2e/uploadTrack.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,77 @@ describe('Upload Track', () => {

cy.findByRole('button', { name: /view track page/i }).click()

cy.findByRole('heading', { name: /track/i, level: 1 }).should('exist')
})
it.only('should upload a track with a subgenre', () => {
const base64Entropy = Buffer.from(user.entropy).toString('base64')
cy.visit(`trending?login=${base64Entropy}`)
cy.findByText(user.name, { timeout: 20000 }).should('exist')

cy.findByRole('button', { name: /upload track/i }).click()

cy.findByRole('heading', { name: /upload tracks/i, level: 1 }).should(
'exist'
)

cy.findByTestId('upload-dropzone').attachFile('track.mp3', {
subjectType: 'drag-n-drop'
})

cy.findByRole('button', { name: /continue/i }).click()

cy.findByRole('combobox', { name: /pick a genre/i }).click()
cy.get('.rc-virtual-list-holder').scrollTo('bottom', {
ensureScrollable: false
})
cy.findByRole('option', { name: /electronic - dubstep/i }).click()

// Add track artwork
cy.findByRole('button', { name: /change artwork/i }).click()

cy.findByTestId('upload-dropzone').attachFile('track-artwork.jpeg', {
subjectType: 'drag-n-drop'
})

cy.findByRole('button', { name: /close popup/ })

cy.findByRole('button', { name: /continue/i }).click()

cy.findByRole('main').within(() => {
cy.findByRole('progressbar').should('have.attr', 'aria-valuenow', '0')

cy.waitUntil(() => {
return cy.findByRole('progressbar').then((progressbar) => {
return Number(progressbar.attr('aria-valuenow')) > 0
})
})

cy.waitUntil(() => {
return cy.findByRole('progressbar').then((progressbar) => {
return Number(progressbar.attr('aria-valuenow')) > 50
})
})

cy.waitUntil(
() => {
return cy.findByRole('progressbar').then((progressbar) => {
return Number(progressbar.attr('aria-valuenow')) === 100
})
},
{ timeout: 10000 }
)
})

cy.findByText(/processing.../i).should('exist')

cy.findByRole('heading', {
name: /upload complete/i,
level: 1,
timeout: 40000
}).should('exist')

cy.findByRole('button', { name: /view track page/i }).click()

cy.findByRole('heading', { name: /track/i, level: 1 }).should('exist')
})
})

0 comments on commit 18616df

Please sign in to comment.