mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
Implement next cucumber scenario
This commit is contained in:
parent
fffd29e867
commit
b017203c64
@ -364,13 +364,25 @@ Then("there are no notifications in the top menu", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
Given("there is an annoying user called {string}", (name) => {
|
Given("there is an annoying user called {string}", (name) => {
|
||||||
cy.factory().create('User', { id: 'annoying-user', name })
|
const annoyingParams = {
|
||||||
|
email: 'spammy-spammer@example.org',
|
||||||
|
password: '1234',
|
||||||
|
}
|
||||||
|
cy.factory().create('User', {
|
||||||
|
...annoyingParams,
|
||||||
|
id: 'annoying-user',
|
||||||
|
name
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
Given("I am on the profile page of the annoying user", (name) => {
|
Given("I am on the profile page of the annoying user", (name) => {
|
||||||
cy.openPage('/profile/annoying-user');
|
cy.openPage('/profile/annoying-user');
|
||||||
})
|
})
|
||||||
|
|
||||||
|
When("I visit the profile page of the annoying user", (name) => {
|
||||||
|
cy.openPage('/profile/annoying-user');
|
||||||
|
})
|
||||||
|
|
||||||
When("I ", (name) => {
|
When("I ", (name) => {
|
||||||
cy.openPage('/profile/annoying-user');
|
cy.openPage('/profile/annoying-user');
|
||||||
})
|
})
|
||||||
@ -383,10 +395,37 @@ When("I click on {string} from the content menu in the user info box", (button)
|
|||||||
.click()
|
.click()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
When ("I navigate to my {string} settings page", (settingsPage) => {
|
When ("I navigate to my {string} settings page", (settingsPage) => {
|
||||||
cy.get(".avatar-menu").click();
|
cy.get(".avatar-menu").click();
|
||||||
cy.get(".avatar-menu-popover")
|
cy.get(".avatar-menu-popover")
|
||||||
.find('a[href]').contains("Settings").click()
|
.find('a[href]').contains("Settings").click()
|
||||||
cy.contains('.ds-menu-item-link', settingsPage).click()
|
cy.contains('.ds-menu-item-link', settingsPage).click()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Given("I follow the user {string}", (name) => {
|
||||||
|
cy.neode()
|
||||||
|
.first('User', { name }).then((followed) => {
|
||||||
|
cy.neode()
|
||||||
|
.first('User', {name: narratorParams.name})
|
||||||
|
.relateTo(followed, 'following')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
Given("\"Spammy Spammer\" wrote a post {string}", (title) => {
|
||||||
|
cy.factory()
|
||||||
|
.authenticateAs({
|
||||||
|
email: 'spammy-spammer@example.org',
|
||||||
|
password: '1234',
|
||||||
|
})
|
||||||
|
.create("Post", { title })
|
||||||
|
})
|
||||||
|
|
||||||
|
Then("the list of posts of this user is empty", () => {
|
||||||
|
cy.get('.ds-card-content').not('.post-link')
|
||||||
|
cy.get('.main-container').find('.ds-space.hc-empty')
|
||||||
|
})
|
||||||
|
|
||||||
|
Then("nobody is following the user profile anymore", () => {
|
||||||
|
cy.get('.ds-card-content').not('.post-link')
|
||||||
|
cy.get('.main-container').contains('.ds-card-content', 'is not followed by anyone')
|
||||||
|
})
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import Factory from '../../backend/src/seed/factories'
|
import Factory from '../../backend/src/seed/factories'
|
||||||
import { getDriver } from '../../backend/src/bootstrap/neo4j'
|
import { getDriver, neode as getNeode } from '../../backend/src/bootstrap/neo4j'
|
||||||
import setupNeode from '../../backend/src/bootstrap/neode'
|
import setupNeode from '../../backend/src/bootstrap/neode'
|
||||||
import neode from 'neode'
|
import neode from 'neode'
|
||||||
|
|
||||||
@ -16,6 +16,25 @@ beforeEach(async () => {
|
|||||||
await factory.cleanDatabase({ seedServerHost, neo4jDriver })
|
await factory.cleanDatabase({ seedServerHost, neo4jDriver })
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Cypress.Commands.add('neode', () => {
|
||||||
|
return setupNeode(neo4jConfigs)
|
||||||
|
})
|
||||||
|
Cypress.Commands.add(
|
||||||
|
'first',
|
||||||
|
{ prevSubject: true },
|
||||||
|
async (neode, model, properties) => {
|
||||||
|
console.log(neode)
|
||||||
|
return neode.first(model, properties)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
Cypress.Commands.add(
|
||||||
|
'relateTo',
|
||||||
|
{ prevSubject: true },
|
||||||
|
async (node, otherNode, relationship) => {
|
||||||
|
return node.relateTo(otherNode, relationship)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
Cypress.Commands.add('factory', () => {
|
Cypress.Commands.add('factory', () => {
|
||||||
return Factory({ seedServerHost, neo4jDriver, neodeInstance: setupNeode(neo4jConfigs) })
|
return Factory({ seedServerHost, neo4jDriver, neodeInstance: setupNeode(neo4jConfigs) })
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user