1
0
mirror of https://github.com/oceanprotocol/commons.git synced 2023-03-15 18:03:00 +01:00
commons/cypress/integration/1_publish.spec.js

128 lines
4.6 KiB
JavaScript
Raw Normal View History

2019-06-19 15:28:31 +02:00
/// <reference types="Cypress" />
describe('Publish', () => {
beforeEach(() => {
cy.visit('/publish')
2019-06-19 15:28:31 +02:00
2019-06-20 13:41:11 +02:00
cy.get('article>div', { timeout: 60000 }).should(
2019-06-19 15:28:31 +02:00
'contain',
'Essentials'
)
})
it('should publish https:// file', () => {
2019-06-19 15:28:31 +02:00
// Fill title
cy.get('input#name').type('Commons Integration Test')
2019-06-19 15:28:31 +02:00
// Open Add a file form
2020-05-19 10:36:18 +02:00
cy.get('button').contains('+ From URL').click()
2019-06-19 15:28:31 +02:00
// Fill url of file
cy.get('input#url').type(
'https://oceanprotocol.com/tech-whitepaper.pdf'
)
// Add file to main form
2020-05-19 10:36:18 +02:00
cy.get('button').contains('Add File').click()
2019-06-19 15:28:31 +02:00
// Verify and nove to next step
cy.get('button', { timeout: 60000 })
2019-06-19 15:28:31 +02:00
.contains('Next →')
.should('not.be.disabled')
.click()
// Verify we are on next step
cy.get('article>div').should('contain', 'Information')
// Fill description
cy.get('textarea#description').type('This is test description')
// Pick category
cy.get('select#categories').select('Biology')
// Verify and move to next step
2020-05-19 10:36:18 +02:00
cy.get('button').contains('Next →').should('not.be.disabled').click()
2019-06-19 15:28:31 +02:00
// Verify we are on next step
cy.get('article>div').should('contain', 'Authorship')
// Fill author
cy.get('input#author').type('Super Author')
// Fill copyright holder
cy.get('input#copyrightHolder').type('Super Copyright Holder')
// Pick author
cy.get('select#license').select('Public Domain')
// Verify and move to next step
2020-05-19 10:36:18 +02:00
cy.get('button').contains('Next →').should('not.be.disabled').click()
2019-06-19 15:28:31 +02:00
// Verify we are on next step
cy.get('article>div').should('contain', 'Register')
// Start publish process
cy.get('button')
.contains('Register asset')
.should('not.be.disabled')
.click()
// Wait for finish
cy.contains('Your asset is published!', {
2019-06-20 13:41:11 +02:00
timeout: 12000
2019-06-19 15:28:31 +02:00
}).should('be.visible')
// Store DID
cy.get('a')
.contains('See published asset')
.invoke('attr', 'href')
2020-05-19 10:36:18 +02:00
.then((href) => {
cy.writeFile(
'cypress/fixtures/did.txt',
href.replace('/asset/', '')
)
})
2019-06-19 15:28:31 +02:00
})
it('should publish ipfs:// file', () => {
// Fill title
cy.get('input#name').type('Commons Integration IPFS Test')
// Open Add a file form
2020-05-19 10:36:18 +02:00
cy.get('button').contains('+ From URL').click()
// Fill url of file
cy.get('input#url').type(
'ipfs://QmX5LRpEVocfks9FNDnRoK2imf2fy9mPpP4wfgaDVXWfYD/video.mp4'
)
// Add file to main form
2020-05-19 10:36:18 +02:00
cy.get('button').contains('Add File').click()
// Verify and nove to next step
cy.get('button', { timeout: 60000 })
.contains('Next →')
.should('not.be.disabled')
.click()
// Verify we are on next step
cy.get('article>div').should('contain', 'Information')
// Fill description
cy.get('textarea#description').type('This is test description')
// Pick category
cy.get('select#categories').select('Biology')
// Verify and move to next step
2020-05-19 10:36:18 +02:00
cy.get('button').contains('Next →').should('not.be.disabled').click()
// Verify we are on next step
cy.get('article>div').should('contain', 'Authorship')
// Fill author
cy.get('input#author').type('Super Author')
// Fill copyright holder
cy.get('input#copyrightHolder').type('Super Copyright Holder')
// Pick author
cy.get('select#license').select('Public Domain')
// Verify and move to next step
2020-05-19 10:36:18 +02:00
cy.get('button').contains('Next →').should('not.be.disabled').click()
// Verify we are on next step
cy.get('article>div').should('contain', 'Register')
// Start publish process
cy.get('button')
.contains('Register asset')
.should('not.be.disabled')
.click()
// Wait for finish
cy.contains('Your asset is published!', {
timeout: 12000
}).should('be.visible')
// Store DID
cy.get('a')
.contains('See published asset')
.invoke('attr', 'href')
2020-05-19 10:36:18 +02:00
.then((href) => {
cy.writeFile(
'cypress/fixtures/did-ipfs.txt',
href.replace('/asset/', '')
)
})
})
2019-06-19 15:28:31 +02:00
})