Skip to content

Commit

Permalink
[WIP] E2E test for editing schema spec
Browse files Browse the repository at this point in the history
  • Loading branch information
wwerner committed Oct 20, 2019
1 parent dc17d25 commit 493e5e1
Showing 1 changed file with 79 additions and 2 deletions.
81 changes: 79 additions & 2 deletions src/test/e2e/cypress/integration/browse-schemata.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,88 @@ describe('Schemata View Tests', function () {
cy.contains('.v-list-item__title', currentVersion).click()

// Assert spec & desc
cy.contains('code','event SalutationHappened')
cy.contains('code','type eventType')
cy.contains('.view-lines','event SalutationHappened')
cy.contains('.view-lines','type eventType')
cy.contains('.v-tab', 'Description').click()
cy.contains('.v-window-item--active',desc)

});

it('can update a schema specification schemata', function () {
// Setup
let orgName = faker.company.companyName()
let unitName = faker.lorem.word()
let namespace = faker.internet.domainName()
let schema = faker.company.catchPhraseNoun()
let majorMinorVersion = faker.random.number(9) + '.' + faker.random.number(9)
let patchVersion = faker.random.number(9)
let prevVersion = majorMinorVersion + '.' + patchVersion
let currentVersion = majorMinorVersion + '.' + (patchVersion + 1)
let spec = 'event SalutationHappened {\n' +
' type eventType'
let desc = faker.lorem.sentence()

// Create Entities
cy.visit('/#/organization')
cy.fillField('Name', orgName)
cy.fillField('Description', 'foo')
cy.contains('button', 'Create').click()
cy.contains('a', 'Create Unit').click()

cy.selectOption('Organization', orgName)
cy.fillField('Name', unitName)
cy.fillField('Description', 'foo')
cy.contains('button', 'Create').click()
cy.contains('a', 'Create Context').click()

cy.selectOption('Organization', orgName)
cy.selectOption('Unit', unitName)
cy.fillField('Namespace', namespace)
cy.fillField('Description', 'foo')
cy.contains('button', 'Create').click()
cy.contains('a', 'Create Schema').click()

cy.fieldContent('SchemaID').should('be.empty')
cy.selectOption('Organization', orgName)
cy.selectOption('Unit', unitName)
cy.selectOption('Context', namespace)
cy.fillField('Name', schema)
cy.selectOption('Category', faker.random.arrayElement(['Command', 'Data', 'Document', 'Envelope', 'Event', 'Unknown']))
cy.selectOption('Scope', faker.random.arrayElement(['Public', 'Private']))
cy.fillField('Description', faker.lorem.sentence())
cy.contains('button', 'Create').click()
cy.contains('a', 'Create Schema Version').click()

cy.fieldContent('SchemaVersionID').should('be.empty')
cy.selectOption('Organization', orgName)
cy.selectOption('Unit', unitName)
cy.selectOption('Context', namespace)
cy.selectOption('Schema', schema)
cy.fillField('Previous Version', prevVersion)
cy.fillField('Current Version', currentVersion)
cy.selectOption('Status', 'Draft')
cy.fillEditor('#description-editor', desc)
cy.fillEditor('#specification-editor', spec)
cy.contains('button', 'Create').click()

// Assert visibility in treeview
// Filter for Org
cy.visit("/#/schemata")
.fillField('Search', orgName)

// Expand Tree
cy.contains('.v-treeview-node__label', orgName).click()
cy.contains('.v-treeview-node__label', unitName).click()
cy.contains('.v-treeview-node__label', namespace).click()
cy.contains('.v-treeview-node__label', schema).click()

// Select version
cy.contains('.v-list-item__title', currentVersion).click()

// Change spec
cy.fillEditor('#specification-editor', 'foo bar baz')
cy.contains('button', 'Save').click()

});

});

0 comments on commit 493e5e1

Please sign in to comment.