mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-12 23:35:58 +00:00
refactor(other): cypress: simplify cucumber preprocessor imports and some linting (#8489)
* cypress: a little linting * cypress: import badeball preprocessor globally * cypress: reintroduce accidentally removed semicolons * cypress: set new e2e support file in config * Revert "cypress: import badeball preprocessor globally" This reverts commit 55fde3de2f9c355fe25bf9b49485b6bf64ca01cf. * Revert "cypress: set new e2e support file in config" This reverts commit 525cb5cf3766e402dadfd17f48e5b0f6c6ba1f9b. * cypress: change preprocessor import to correct method in step definition file * cypress: change preprocessor import to correct method in step definition files
This commit is contained in:
parent
b54e9773f4
commit
30080a44c2
@ -1,8 +1,8 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("the donation info contains goal {string} and progress {string}", (goal, progress) => {
|
||||
defineStep('the donation info contains goal {string} and progress {string}', (goal, progress) => {
|
||||
cy.get('.top-info-bar')
|
||||
.should('contain', goal)
|
||||
cy.get('.top-info-bar')
|
||||
.should('contain', progress)
|
||||
});
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the donation info is {string}", (visibility) => {
|
||||
defineStep('the donation info is {string}', (visibility) => {
|
||||
cy.get('.top-info-bar')
|
||||
.should(visibility === 'visible' ? 'exist' : 'not.exist')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I open the content menu of post {string}", (title) => {
|
||||
defineStep('I open the content menu of post {string}', (title) => {
|
||||
cy.contains('.post-teaser', title)
|
||||
.find('.content-menu .base-button')
|
||||
.click()
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the post with title {string} has a ribbon for pinned posts", (title) => {
|
||||
cy.get(".post-teaser").contains(title)
|
||||
defineStep('the post with title {string} has a ribbon for pinned posts', (title) => {
|
||||
cy.get('.post-teaser').contains(title)
|
||||
.parent()
|
||||
.parent()
|
||||
.find(".ribbon.--pinned")
|
||||
.should("contain", "Announcement")
|
||||
.find('.ribbon.--pinned')
|
||||
.should('contain', 'Announcement')
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("there is no button to pin a post", () => {
|
||||
cy.get("a.ds-menu-item-link")
|
||||
.should('contain', "Report Post") // sanity check
|
||||
.should('not.contain', "Pin post")
|
||||
defineStep('there is no button to pin a post', () => {
|
||||
cy.get('a.ds-menu-item-link')
|
||||
.should('contain', 'Report Post') // sanity check
|
||||
.should('not.contain', 'Pin post')
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I see a button with the label {string}", label => {
|
||||
cy.contains("button", label);
|
||||
});
|
||||
defineStep('I see a button with the label {string}', label => {
|
||||
cy.contains('button', label)
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I select {string} in the language menu", language => {
|
||||
cy.get(".locale-menu")
|
||||
.click();
|
||||
cy.contains(".locale-menu-popover a", language)
|
||||
.click();
|
||||
});
|
||||
defineStep('I select {string} in the language menu', language => {
|
||||
cy.get('.locale-menu')
|
||||
.click()
|
||||
cy.contains('.locale-menu-popover a', language)
|
||||
.click()
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
import locales from '../../../../webapp/locales'
|
||||
|
||||
Then("the whole user interface appears in {string}", language => {
|
||||
const { code } = locales.find((entry) => entry.name === language);
|
||||
cy.get(`html[lang=${code}]`);
|
||||
cy.getCookie("locale").should("have.property", "value", code);
|
||||
});
|
||||
defineStep('the whole user interface appears in {string}', language => {
|
||||
const { code } = locales.find((entry) => entry.name === language)
|
||||
cy.get(`html[lang=${code}]`)
|
||||
cy.getCookie('locale').should('have.property', 'value', code)
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should see only {int} posts on the newsfeed", posts => {
|
||||
cy.get(".post-teaser")
|
||||
.should("have.length", posts);
|
||||
});
|
||||
defineStep('I should see only {int} posts on the newsfeed', posts => {
|
||||
cy.get('.post-teaser')
|
||||
.should('have.length', posts)
|
||||
})
|
||||
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the page {string} returns a 404 error with a message:", (route, message) => {
|
||||
defineStep('the page {string} returns a 404 error with a message:', (route, message) => {
|
||||
cy.request({
|
||||
url: route,
|
||||
failOnStatusCode: false
|
||||
})
|
||||
.its("status")
|
||||
.should("eq", 404);
|
||||
.its('status')
|
||||
.should('eq', 404)
|
||||
cy.visit(route, {
|
||||
failOnStatusCode: false
|
||||
});
|
||||
cy.get(".error-message").should("contain", message);
|
||||
});
|
||||
})
|
||||
cy.get('.error-message').should('contain', message)
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then(`I can't see the moderation menu item`, () => {
|
||||
defineStep(`I can't see the moderation menu item`, () => {
|
||||
cy.get('.avatar-menu-popover')
|
||||
.find('a[href="/settings"]', 'Settings')
|
||||
.should('exist') // OK, the dropdown is actually open
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('I can visit the post page', () => {
|
||||
defineStep('I can visit the post page', () => {
|
||||
cy.contains('Fake news').click()
|
||||
cy.location('pathname').should('contain', '/post')
|
||||
.get('.base-card .title').should('contain', 'Fake news')
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I click on "Report Post" from the content menu of the post', () => {
|
||||
defineStep('I click on "Report Post" from the content menu of the post', () => {
|
||||
cy.contains('.base-card', 'The Truth about the Holocaust')
|
||||
.find('.content-menu .base-button')
|
||||
.click()
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I click on the author', () => {
|
||||
defineStep('I click on the author', () => {
|
||||
cy.get('[data-test="avatarUserLink"]')
|
||||
.click()
|
||||
.url().should('include', '/profile/')
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import 'cypress-network-idle';
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
import 'cypress-network-idle'
|
||||
|
||||
When("I click on the avatar menu in the top right corner", () => {
|
||||
cy.get(".avatar-menu").click();
|
||||
cy.waitForNetworkIdle(2000);
|
||||
});
|
||||
defineStep('I click on the avatar menu in the top right corner', () => {
|
||||
cy.get('.avatar-menu').click()
|
||||
cy.waitForNetworkIdle(2000)
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When(/^I confirm the reporting dialog .*:$/, message => {
|
||||
defineStep(/^I confirm the reporting dialog .*:$/, message => {
|
||||
cy.contains(message) // wait for element to become visible
|
||||
cy.get('.ds-modal')
|
||||
.within(() => {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('I see all the reported posts including from the user who muted me', () => {
|
||||
defineStep('I see all the reported posts including from the user who muted me', () => {
|
||||
cy.get('table tbody').within(() => {
|
||||
cy.contains('tr', 'Fake news')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('I see all the reported posts including the one from above', () => {
|
||||
defineStep('I see all the reported posts including the one from above', () => {
|
||||
cy.intercept({
|
||||
method: 'POST',
|
||||
url: '/api',
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('each list item links to the post page', () => {
|
||||
cy.contains('The Truth about the Holocaust').click();
|
||||
defineStep('each list item links to the post page', () => {
|
||||
cy.contains('The Truth about the Holocaust').click()
|
||||
cy.location('pathname').should('contain', '/post')
|
||||
})
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { Given } from '@badeball/cypress-cucumber-preprocessor'
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
import './../../commands'
|
||||
import './../../factories'
|
||||
import 'cypress-network-idle'
|
||||
|
||||
Given('somebody reported the following posts:', table => {
|
||||
defineStep('somebody reported the following posts:', table => {
|
||||
const reportIdRegex = /^[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}$/
|
||||
cy.intercept({
|
||||
method: 'POST',
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
import { Given } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Given("there is an annoying user who has muted me", () => {
|
||||
defineStep('there is an annoying user who has muted me', () => {
|
||||
cy.neode()
|
||||
.firstOf("User", {
|
||||
.firstOf('User', {
|
||||
role: 'moderator'
|
||||
})
|
||||
.then(mutedUser => {
|
||||
cy.neode()
|
||||
.firstOf("User", {
|
||||
.firstOf('User', {
|
||||
id: 'user'
|
||||
})
|
||||
.relateTo(mutedUser, "muted");
|
||||
});
|
||||
});
|
||||
.relateTo(mutedUser, 'muted')
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I start to write a new post with the title {string} beginning with:", (title, intro) => {
|
||||
defineStep('I start to write a new post with the title {string} beginning with:', (title, intro) => {
|
||||
cy.get('input[name="title"]')
|
||||
.type(title);
|
||||
cy.get(".ProseMirror")
|
||||
.type(intro);
|
||||
});
|
||||
.type(title)
|
||||
cy.get('.ProseMirror')
|
||||
.type(intro)
|
||||
})
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("mention {string} in the text", mention => {
|
||||
cy.get(".ProseMirror")
|
||||
.type(" @");
|
||||
cy.get(".suggestion-list__item")
|
||||
defineStep('mention {string} in the text', mention => {
|
||||
cy.get('.ProseMirror')
|
||||
.type(' @')
|
||||
cy.get('.suggestion-list__item')
|
||||
.contains(mention)
|
||||
.click();
|
||||
});
|
||||
.click()
|
||||
})
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("open the notification menu and click on the first item", () => {
|
||||
cy.get(".notifications-menu")
|
||||
defineStep('open the notification menu and click on the first item', () => {
|
||||
cy.get('.notifications-menu')
|
||||
.invoke('show')
|
||||
.click(); // "invoke('show')" because of the delay for show the menu
|
||||
cy.get(".notification .link")
|
||||
.click() // 'invoke('show')' because of the delay for show the menu
|
||||
cy.get('.notification .link')
|
||||
.first()
|
||||
.click({force: true});
|
||||
});
|
||||
.click({force: true})
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("see {int} unread notifications in the top menu", count => {
|
||||
cy.get(".notifications-menu")
|
||||
.should("contain", count);
|
||||
});
|
||||
defineStep('see {int} unread notifications in the top menu', count => {
|
||||
cy.get('.notifications-menu')
|
||||
.should('contain', count)
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the notification menu button links to the all notifications page", () => {
|
||||
cy.get(".notifications-menu")
|
||||
.click();
|
||||
cy.location("pathname")
|
||||
.should("contain", "/notifications");
|
||||
});
|
||||
defineStep('the notification menu button links to the all notifications page', () => {
|
||||
cy.get('.notifications-menu')
|
||||
.click()
|
||||
cy.location('pathname')
|
||||
.should('contain', '/notifications')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the unread counter is removed", () => {
|
||||
defineStep('the unread counter is removed', () => {
|
||||
cy.get('.notifications-menu .counter-icon')
|
||||
.should('not.exist');
|
||||
});
|
||||
.should('not.exist')
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I comment the following:", text => {
|
||||
const comment = text.replace("\n", " ")
|
||||
defineStep('I comment the following:', text => {
|
||||
const comment = text.replace('\n', ' ')
|
||||
cy.task('pushValue', { name: 'lastComment', value: comment })
|
||||
cy.get(".editor .ProseMirror").type(comment);
|
||||
});
|
||||
cy.get('.editor .ProseMirror').type(comment)
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should see an abbreviated version of my comment", () => {
|
||||
cy.get("article.comment-card")
|
||||
.should("contain", "show more")
|
||||
});
|
||||
defineStep('I should see an abbreviated version of my comment', () => {
|
||||
cy.get('article.comment-card')
|
||||
.should('contain', 'show more')
|
||||
})
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should see my comment", () => {
|
||||
cy.get("article.comment-card p")
|
||||
.should("contain", "Ocelot.social rocks")
|
||||
.get(".user-teaser span.slug")
|
||||
.should("contain", "@peter-pan") // specific enough
|
||||
.get(".profile-avatar img")
|
||||
.should("have.attr", "src")
|
||||
.and("contain", 'https://') // some url
|
||||
.get(".user-teaser > .info > .text")
|
||||
.should("contain", "today at");
|
||||
});
|
||||
defineStep('I should see my comment', () => {
|
||||
cy.get('article.comment-card p')
|
||||
.should('contain', 'Ocelot.social rocks')
|
||||
.get('.user-teaser span.slug')
|
||||
.should('contain', '@peter-pan') // specific enough
|
||||
.get('.profile-avatar img')
|
||||
.should('have.attr', 'src')
|
||||
.and('contain', 'https://') // some url
|
||||
.get('.user-teaser > .info > .text')
|
||||
.should('contain', 'today at')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should see the entirety of my comment", () => {
|
||||
cy.get("article.comment-card")
|
||||
.should("not.contain", "show more")
|
||||
});
|
||||
defineStep('I should see the entirety of my comment', () => {
|
||||
cy.get('article.comment-card')
|
||||
.should('not.contain', 'show more')
|
||||
})
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I type in a comment with {int} characters", size => {
|
||||
var c="";
|
||||
defineStep('I type in a comment with {int} characters', size => {
|
||||
var c = ''
|
||||
for (var i = 0; i < size; i++) {
|
||||
c += "c"
|
||||
c += 'c'
|
||||
}
|
||||
cy.get(".editor .ProseMirror").type(c);
|
||||
});
|
||||
cy.get('.editor .ProseMirror').type(c)
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("it should create a mention in the CommentForm", () => {
|
||||
cy.get(".ProseMirror a")
|
||||
defineStep('it should create a mention in the CommentForm', () => {
|
||||
cy.get('.ProseMirror a')
|
||||
.should('have.class', 'mention')
|
||||
.should('contain', '@peter-pan')
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("my comment should be successfully created", () => {
|
||||
cy.get(".iziToast-message").contains("Comment submitted!");
|
||||
});
|
||||
defineStep('my comment should be successfully created', () => {
|
||||
cy.get('.iziToast-message').contains('Comment submitted!')
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the editor should be cleared", () => {
|
||||
cy.get(".ProseMirror p").should("have.class", "is-empty");
|
||||
});
|
||||
defineStep('the editor should be cleared', () => {
|
||||
cy.get('.ProseMirror p').should('have.class', 'is-empty')
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I choose {string} as the title", title => {
|
||||
defineStep('I choose {string} as the title', title => {
|
||||
const lastPost = {}
|
||||
lastPost.title = title.replace("\n", " ");
|
||||
lastPost.title = title.replace('\n', ' ')
|
||||
cy.task('pushValue', { name: 'lastPost', value: lastPost })
|
||||
cy.get('input[name="title"]').type(lastPost.title);
|
||||
});
|
||||
cy.get('input[name="title"]').type(lastPost.title)
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the post was saved successfully", () => {
|
||||
defineStep('the post was saved successfully', () => {
|
||||
cy.task('getValue', 'lastPost').then(lastPost => {
|
||||
cy.get(".base-card > .title").should("contain", lastPost.title);
|
||||
cy.get(".content").should("contain", lastPost.content);
|
||||
cy.get('.base-card > .title').should('contain', lastPost.title)
|
||||
cy.get('.content').should('contain', lastPost.content)
|
||||
})
|
||||
});
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I add all required fields", () => {
|
||||
defineStep('I add all required fields', () => {
|
||||
cy.get('input[name="title"]')
|
||||
.type('new post')
|
||||
.get(".editor .ProseMirror")
|
||||
.get('.editor .ProseMirror')
|
||||
.type('new post content')
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,29 +1,28 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should be able to {string} a teaser image", condition => {
|
||||
let postTeaserImage = ""
|
||||
defineStep('I should be able to {string} a teaser image', condition => {
|
||||
let postTeaserImage = ''
|
||||
|
||||
switch(condition){
|
||||
case "change":
|
||||
postTeaserImage = "humanconnection.png"
|
||||
cy.get(".delete-image-button")
|
||||
case 'change':
|
||||
postTeaserImage = 'humanconnection.png'
|
||||
cy.get('.delete-image-button')
|
||||
.click()
|
||||
cy.get("#postdropzone").selectFile(
|
||||
{ contents: `cypress/fixtures/${postTeaserImage}`, fileName: postTeaserImage, mimeType: "image/png" },
|
||||
{ action: "drag-drop", force: true }
|
||||
).wait(750);
|
||||
break;
|
||||
case "add":
|
||||
postTeaserImage = "onourjourney.png"
|
||||
cy.get("#postdropzone").selectFile(
|
||||
{ contents: `cypress/fixtures/${postTeaserImage}`, fileName: postTeaserImage, mimeType: "image/png" },
|
||||
{ action: "drag-drop", force: true }
|
||||
).wait(750);
|
||||
break;
|
||||
case "remove":
|
||||
cy.get(".delete-image-button")
|
||||
cy.get('#postdropzone').selectFile(
|
||||
{ contents: `cypress/fixtures/${postTeaserImage}`, fileName: postTeaserImage, mimeType: 'image/png' },
|
||||
{ action: 'drag-drop', force: true }
|
||||
).wait(750)
|
||||
break
|
||||
case 'add':
|
||||
postTeaserImage = 'onourjourney.png'
|
||||
cy.get('#postdropzone').selectFile(
|
||||
{ contents: `cypress/fixtures/${postTeaserImage}`, fileName: postTeaserImage, mimeType: 'image/png' },
|
||||
{ action: 'drag-drop', force: true }
|
||||
).wait(750)
|
||||
break
|
||||
case 'remove':
|
||||
cy.get('.delete-image-button')
|
||||
.click()
|
||||
break;
|
||||
break
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('my post has a teaser image', () => {
|
||||
defineStep('my post has a teaser image', () => {
|
||||
cy.get('.contribution-form .image')
|
||||
.should('exist')
|
||||
.and('have.attr', 'src')
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the first image should not be displayed anymore", () => {
|
||||
cy.get(".hero-image")
|
||||
defineStep('the first image should not be displayed anymore', () => {
|
||||
cy.get('.hero-image')
|
||||
.children()
|
||||
.get('.hero-image > .image')
|
||||
.should('have.length', 1)
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the post was saved successfully with the {string} teaser image", condition => {
|
||||
cy.get(".base-card > .title")
|
||||
.should("contain", condition === 'updated' ? 'to be updated' : 'new post')
|
||||
.get(".content")
|
||||
.should("contain", condition === 'updated' ? 'successfully updated' : 'new post content')
|
||||
defineStep('the post was saved successfully with the {string} teaser image', condition => {
|
||||
cy.get('.base-card > .title')
|
||||
.should('contain', condition === 'updated' ? 'to be updated' : 'new post')
|
||||
.get('.content')
|
||||
.should('contain', condition === 'updated' ? 'successfully updated' : 'new post content')
|
||||
.get('.post-page img')
|
||||
.should("have.attr", "src")
|
||||
.and("contains", condition === 'updated' ? 'humanconnection' : 'onourjourney')
|
||||
.should('have.attr', 'src')
|
||||
.and('contains', condition === 'updated' ? 'humanconnection' : 'onourjourney')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('the {string} post was saved successfully without a teaser image', condition => {
|
||||
defineStep('the {string} post was saved successfully without a teaser image', condition => {
|
||||
cy.get(".base-card > .title")
|
||||
.should("contain", condition === 'updated' ? 'to be updated' : 'new post')
|
||||
.get(".content")
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the post shows up on the newsfeed at position {int}", index => {
|
||||
const selector = `.post-teaser:nth-child(${index}) > .base-card`;
|
||||
cy.get(selector).should("contain", 'previously created post');
|
||||
cy.get(selector).should("contain", 'with some content');
|
||||
|
||||
});
|
||||
defineStep('the post shows up on the newsfeed at position {int}', index => {
|
||||
const selector = `.post-teaser:nth-child(${index}) > .base-card`
|
||||
cy.get(selector).should('contain', 'previously created post')
|
||||
cy.get(selector).should('contain', 'with some content')
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I select a post entry", () => {
|
||||
cy.get(".searchable-input .search-post")
|
||||
defineStep('I select a post entry', () => {
|
||||
cy.get('.searchable-input .search-post')
|
||||
.first()
|
||||
.trigger("click");
|
||||
});
|
||||
.trigger('click')
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I select a user entry", () => {
|
||||
cy.get(".searchable-input .user-teaser")
|
||||
defineStep('I select a user entry', () => {
|
||||
cy.get('.searchable-input .user-teaser')
|
||||
.first()
|
||||
.trigger("click");
|
||||
.trigger('click')
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should have one item in the select dropdown", () => {
|
||||
cy.get(".searchable-input .ds-select-dropdown").should($li => {
|
||||
expect($li).to.have.length(1);
|
||||
});
|
||||
});
|
||||
defineStep('I should have one item in the select dropdown', () => {
|
||||
cy.get('.searchable-input .ds-select-dropdown').should($li => {
|
||||
expect($li).to.have.length(1)
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should not see posts without the searched-for term in the select dropdown", () => {
|
||||
cy.get(".ds-select-dropdown")
|
||||
.should("not.contain","No searched for content");
|
||||
});
|
||||
defineStep('I should not see posts without the searched-for term in the select dropdown', () => {
|
||||
cy.get('.ds-select-dropdown')
|
||||
.should('not.contain','No searched for content')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should see posts with the searched-for term in the select dropdown", () => {
|
||||
cy.get(".ds-select-dropdown")
|
||||
.should("contain","101 Essays that will change the way you think");
|
||||
});
|
||||
defineStep('I should see posts with the searched-for term in the select dropdown', () => {
|
||||
cy.get('.ds-select-dropdown')
|
||||
.should('contain','101 Essays that will change the way you think')
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should see the following posts on the search results page:", table => {
|
||||
defineStep('I should see the following posts on the search results page:', table => {
|
||||
table.hashes().forEach(({ title }) => {
|
||||
cy.get(".post-teaser")
|
||||
.should("contain",title)
|
||||
});
|
||||
});
|
||||
cy.get('.post-teaser')
|
||||
.should('contain',title)
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should see the following users in the select dropdown:", table => {
|
||||
cy.get(".search-heading").should("contain", "Users");
|
||||
defineStep('I should see the following users in the select dropdown:', table => {
|
||||
cy.get('.search-heading').should('contain', 'Users')
|
||||
table.hashes().forEach(({ slug }) => {
|
||||
cy.get(".ds-select-dropdown").should("contain", slug);
|
||||
});
|
||||
});
|
||||
cy.get('.ds-select-dropdown').should('contain', slug)
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I type {string} and press Enter", value => {
|
||||
cy.get(".searchable-input .ds-select input")
|
||||
defineStep('I type {string} and press Enter', value => {
|
||||
cy.get('.searchable-input .ds-select input')
|
||||
.focus()
|
||||
.type(value)
|
||||
.type("{enter}", { force: true });
|
||||
});
|
||||
.type('{enter}', { force: true })
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I type {string} and press escape", value => {
|
||||
cy.get(".searchable-input .ds-select input")
|
||||
defineStep('I type {string} and press escape', value => {
|
||||
cy.get('.searchable-input .ds-select input')
|
||||
.focus()
|
||||
.type(value)
|
||||
.type("{esc}");
|
||||
});
|
||||
.type('{esc}')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the search field should clear", () => {
|
||||
cy.get(".searchable-input .ds-select input")
|
||||
.should("have.text", "");
|
||||
});
|
||||
defineStep('the search field should clear', () => {
|
||||
cy.get('.searchable-input .ds-select input')
|
||||
.should('have.text', '')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the search parameter equals {string}", search => {
|
||||
cy.location("search")
|
||||
.should("eq", search);
|
||||
});
|
||||
defineStep('the search parameter equals {string}', search => {
|
||||
cy.location('search')
|
||||
.should('eq', search)
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I am logged in with username {string}", name => {
|
||||
cy.get(".avatar-menu").click();
|
||||
cy.get(".avatar-menu-popover").contains(name);
|
||||
cy.get(".avatar-menu").click(); // Close menu again
|
||||
});
|
||||
defineStep('I am logged in with username {string}', name => {
|
||||
cy.get('.avatar-menu').click()
|
||||
cy.get('.avatar-menu-popover').contains(name)
|
||||
cy.get('.avatar-menu').click() // Close menu again
|
||||
})
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I block the user {string}", name => {
|
||||
defineStep('I block the user {string}', name => {
|
||||
cy.neode()
|
||||
.firstOf("User", { name })
|
||||
.firstOf('User', { name })
|
||||
.then(blockedUser => {
|
||||
cy.neode()
|
||||
.firstOf("User", {id: "id-of-peter-pan"})
|
||||
.relateTo(blockedUser, "blocked");
|
||||
});
|
||||
});
|
||||
.firstOf('User', {id: 'id-of-peter-pan'})
|
||||
.relateTo(blockedUser, 'blocked')
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('I should not see {string} button', button => {
|
||||
defineStep('I should not see {string} button', button => {
|
||||
cy.get('.base-card .action-buttons')
|
||||
.should('have.length', 1)
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should see no users in my blocked users list", () => {
|
||||
defineStep('I should see no users in my blocked users list', () => {
|
||||
cy.get('.ds-placeholder')
|
||||
.should('contain', "So far, you have not blocked anybody.")
|
||||
.should('contain', 'So far, you have not blocked anybody.')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('I should see the {string} button', button => {
|
||||
defineStep('I should see the {string} button', button => {
|
||||
cy.get('.base-card .action-buttons .base-button')
|
||||
.should('contain', button)
|
||||
})
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I {string} see {string} from the content menu in the user info box", (condition, link) => {
|
||||
cy.get(".user-content-menu .base-button").click()
|
||||
cy.get(".popover .ds-menu-item-link")
|
||||
defineStep('I {string} see {string} from the content menu in the user info box', (condition, link) => {
|
||||
cy.get('.user-content-menu .base-button').click()
|
||||
cy.get('.popover .ds-menu-item-link')
|
||||
.should(condition === 'should' ? 'contain' : 'not.contain', link)
|
||||
})
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("a user has blocked me", () => {
|
||||
defineStep('a user has blocked me', () => {
|
||||
cy.neode()
|
||||
.firstOf("User", {
|
||||
name: "Peter Pan"
|
||||
.firstOf('User', {
|
||||
name: 'Peter Pan'
|
||||
})
|
||||
.then(blockedUser => {
|
||||
cy.neode()
|
||||
.firstOf("User", {
|
||||
.firstOf('User', {
|
||||
name: 'Harassing User'
|
||||
})
|
||||
.relateTo(blockedUser, "blocked");
|
||||
});
|
||||
});
|
||||
.relateTo(blockedUser, 'blocked')
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("they should not see the comment form", () => {
|
||||
cy.get(".base-card").children().should('not.have.class', 'comment-form')
|
||||
defineStep('they should not see the comment form', () => {
|
||||
cy.get('.base-card').children().should('not.have.class', 'comment-form')
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("they should see a text explaining why commenting is not possible", () => {
|
||||
cy.get('.ds-placeholder').should('contain', "Commenting is not possible at this time on this post.")
|
||||
defineStep('they should see a text explaining why commenting is not possible', () => {
|
||||
cy.get('.ds-placeholder').should('contain', 'Commenting is not possible at this time on this post.')
|
||||
})
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I mute the user {string}", name => {
|
||||
defineStep('I mute the user {string}', name => {
|
||||
cy.neode()
|
||||
.firstOf("User", { name })
|
||||
.firstOf('User', { name })
|
||||
.then(mutedUser => {
|
||||
cy.neode()
|
||||
.firstOf("User", {
|
||||
name: "Peter Pan"
|
||||
.firstOf('User', {
|
||||
name: 'Peter Pan'
|
||||
})
|
||||
.relateTo(mutedUser, "muted");
|
||||
});
|
||||
});
|
||||
.relateTo(mutedUser, 'muted')
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the list of posts of this user is empty", () => {
|
||||
cy.get(".base-card").not(".post-link");
|
||||
cy.get(".main-container").find(".ds-space.hc-empty");
|
||||
});
|
||||
defineStep('the list of posts of this user is empty', () => {
|
||||
cy.get('.base-card').not('.post-link')
|
||||
cy.get('.main-container').find('.ds-space.hc-empty')
|
||||
})
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the search should contain the annoying user", () => {
|
||||
cy.get(".searchable-input .ds-select-dropdown")
|
||||
defineStep('the search should contain the annoying user', () => {
|
||||
cy.get('.searchable-input .ds-select-dropdown')
|
||||
.should($li => {
|
||||
expect($li).to.have.length(1);
|
||||
expect($li).to.have.length(1)
|
||||
})
|
||||
cy.get(".ds-select-dropdown .user-teaser .slug")
|
||||
.should("contain", '@annoying-user');
|
||||
cy.get(".searchable-input .ds-select input")
|
||||
cy.get('.ds-select-dropdown .user-teaser .slug')
|
||||
.should('contain', '@annoying-user')
|
||||
cy.get('.searchable-input .ds-select input')
|
||||
.focus()
|
||||
.type("{esc}");
|
||||
.type('{esc}')
|
||||
})
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("the search should not contain posts by the annoying user", () => {
|
||||
cy.get(".searchable-input .ds-select-dropdown").should($li => {
|
||||
expect($li).to.have.length(1);
|
||||
defineStep('the search should not contain posts by the annoying user', () => {
|
||||
cy.get('.searchable-input .ds-select-dropdown').should($li => {
|
||||
expect($li).to.have.length(1)
|
||||
})
|
||||
cy.get(".ds-select-dropdown")
|
||||
.should("not.have.class", '.search-post')
|
||||
.should("not.contain", 'Spam')
|
||||
});
|
||||
cy.get('.ds-select-dropdown')
|
||||
.should('not.have.class', '.search-post')
|
||||
.should('not.contain', 'Spam')
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I click on element with ID {string}", (id) => {
|
||||
defineStep('I click on element with ID {string}', (id) => {
|
||||
cy.get('#' + id).click()
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I click save", () => {
|
||||
cy.get(".save-button").click()
|
||||
defineStep('I click save', () => {
|
||||
cy.get('.save-button').click()
|
||||
})
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I cannot upload a picture", () => {
|
||||
cy.get(".base-card")
|
||||
defineStep('I cannot upload a picture', () => {
|
||||
cy.get('.base-card')
|
||||
.children()
|
||||
.should("not.have.id", "customdropzone")
|
||||
.should("have.class", "profile-avatar");
|
||||
});
|
||||
.should('not.have.id', 'customdropzone')
|
||||
.should('have.class', 'profile-avatar')
|
||||
})
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I should be able to change my profile picture", () => {
|
||||
const avatarUpload = "onourjourney.png";
|
||||
defineStep('I should be able to change my profile picture', () => {
|
||||
const avatarUpload = 'onourjourney.png'
|
||||
|
||||
cy.get("#customdropzone").selectFile(
|
||||
{ contents: `cypress/fixtures/${avatarUpload}`, fileName: avatarUpload, mimeType: "image/png" },
|
||||
{ action: "drag-drop" }
|
||||
);
|
||||
cy.get(".profile-page-avatar img")
|
||||
.should("have.attr", "src")
|
||||
.and("contains", "onourjourney");
|
||||
cy.contains(".iziToast-message", "Upload successful")
|
||||
.should("have.length",1);
|
||||
});
|
||||
cy.get('#customdropzone').selectFile(
|
||||
{ contents: `cypress/fixtures/${avatarUpload}`, fileName: avatarUpload, mimeType: 'image/png' },
|
||||
{ action: 'drag-drop' }
|
||||
)
|
||||
cy.get('.profile-page-avatar img')
|
||||
.should('have.attr', 'src')
|
||||
.and('contains', 'onourjourney')
|
||||
cy.contains('.iziToast-message', 'Upload successful')
|
||||
.should('have.length',1)
|
||||
})
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I can login successfully", () => {
|
||||
// cy.reload();
|
||||
cy.get(".iziToast-wrapper")
|
||||
.should("contain", "You are logged in!");
|
||||
});
|
||||
defineStep('I can login successfully', () => {
|
||||
cy.get('.iziToast-wrapper')
|
||||
.should('contain', 'You are logged in!')
|
||||
})
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I cannot login anymore", password => {
|
||||
//cy.reload();
|
||||
cy.get(".iziToast-wrapper")
|
||||
.should("contain", "Incorrect email address or password.");
|
||||
});
|
||||
defineStep('I cannot login anymore', password => {
|
||||
cy.get('.iziToast-wrapper')
|
||||
.should('contain', 'Incorrect email address or password.')
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I cannot submit the form", () => {
|
||||
cy.get("button[type=submit]")
|
||||
.should('be.disabled');
|
||||
});
|
||||
defineStep('I cannot submit the form', () => {
|
||||
cy.get('button[type=submit]')
|
||||
.should('be.disabled')
|
||||
})
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I fill the password form with:", table => {
|
||||
table = table.rowsHash();
|
||||
cy.get("input[id=oldPassword]")
|
||||
.type(table["Your old password"])
|
||||
.get("input[id=password]")
|
||||
.type(table["Your new password"])
|
||||
.get("input[id=passwordConfirmation]")
|
||||
.type(table["Confirm new password"]);
|
||||
});
|
||||
defineStep('I fill the password form with:', table => {
|
||||
table = table.rowsHash()
|
||||
cy.get('input[id=oldPassword]')
|
||||
.type(table['Your old password'])
|
||||
.get('input[id=password]')
|
||||
.type(table['Your new password'])
|
||||
.get('input[id=passwordConfirmation]')
|
||||
.type(table['Confirm new password'])
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I submit the form", () => {
|
||||
cy.get("form").submit();
|
||||
});
|
||||
defineStep('I submit the form', () => {
|
||||
cy.get('form').submit()
|
||||
})
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('I can see my new name {string} when I click on my profile picture in the top right', name => {
|
||||
defineStep('I can see my new name {string} when I click on my profile picture in the top right', name => {
|
||||
cy.get(".avatar-menu").then(($menu) => {
|
||||
if (!$menu.is(':visible')){
|
||||
cy.scrollTo("top");
|
||||
cy.wait(500);
|
||||
cy.scrollTo("top")
|
||||
cy.wait(500)
|
||||
}
|
||||
})
|
||||
cy.get('.avatar-menu').click() // open
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I have the following self-description:', text => {
|
||||
defineStep('I have the following self-description:', text => {
|
||||
cy.get('textarea[id=about]')
|
||||
.clear()
|
||||
.type(text)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I save {string} as my location', location => {
|
||||
defineStep('I save {string} as my location', location => {
|
||||
cy.get('input[id=city]').type(location)
|
||||
cy.get('.ds-select-option')
|
||||
.contains(location)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I save {string} as my new name', name => {
|
||||
defineStep('I save {string} as my new name', name => {
|
||||
cy.get('input[id=name]')
|
||||
.clear()
|
||||
.type(name)
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('they can see the following text in the info box below my avatar:', text => {
|
||||
defineStep('they can see the following text in the info box below my avatar:', text => {
|
||||
cy.contains(text)
|
||||
})
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('they can see {string} in the info box below my avatar', location => {
|
||||
defineStep('they can see {string} in the info box below my avatar', location => {
|
||||
cy.contains(location)
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I add a social media link', () => {
|
||||
defineStep('I add a social media link', () => {
|
||||
cy.get('[data-test="add-save-button"]')
|
||||
.click()
|
||||
.get('#editSocialMedia')
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('I can cancel editing', () => {
|
||||
defineStep('I can cancel editing', () => {
|
||||
cy.get('button#cancel')
|
||||
.click()
|
||||
.get('input#editSocialMedia')
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I delete a social media link', () => {
|
||||
defineStep('I delete a social media link', () => {
|
||||
cy.get(".base-button[title='Delete']")
|
||||
.click()
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I delete the social media link {string}', (link) => {
|
||||
defineStep('I delete the social media link {string}', (link) => {
|
||||
cy.get('[data-test="delete-button"]')
|
||||
.click()
|
||||
cy.get('[data-test="confirm-modal"]')
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I edit and save the link', () => {
|
||||
defineStep('I edit and save the link', () => {
|
||||
cy.get('input#editSocialMedia')
|
||||
.clear()
|
||||
.type('https://freeradical.zone/tinkerbell')
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Given } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Given('I have added a social media link', () => {
|
||||
defineStep('I have added a social media link', () => {
|
||||
cy.visit('/settings/my-social-media')
|
||||
.get('button')
|
||||
.contains('Add link')
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Given } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Given('I have added the social media link {string}', (link) => {
|
||||
defineStep('I have added the social media link {string}', (link) => {
|
||||
cy.visit('/settings/my-social-media')
|
||||
.get('[data-test="add-save-button"]')
|
||||
.click()
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When('I start editing a social media link', () => {
|
||||
defineStep('I start editing a social media link', () => {
|
||||
cy.get('[data-test="edit-button"]')
|
||||
.click()
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('the new social media link shows up on the page', () => {
|
||||
defineStep('the new social media link shows up on the page', () => {
|
||||
cy.get('a[href="https://freeradical.zone/peter-pan"]')
|
||||
.should('have.length', 1)
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('the new url is displayed', () => {
|
||||
defineStep('the new url is displayed', () => {
|
||||
cy.get("a[href='https://freeradical.zone/tinkerbell']")
|
||||
.should('have.length', 1)
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('the old url is not displayed', () => {
|
||||
defineStep('the old url is not displayed', () => {
|
||||
cy.get("a[href='https://freeradical.zone/peter-pan']")
|
||||
.should('have.length', 0)
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('they should be able to see my social media links', () => {
|
||||
defineStep('they should be able to see my social media links', () => {
|
||||
cy.get('[data-test="social-media-list-headline"]')
|
||||
.contains('Peter Pan')
|
||||
.get('a[href="https://freeradical.zone/peter-pan"]')
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { Given } from '@badeball/cypress-cucumber-preprocessor'
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
import encode from '../../../../backend/build/src/jwt/encode'
|
||||
|
||||
Given('I am logged in as {string}', slug => {
|
||||
defineStep('I am logged in as {string}', slug => {
|
||||
cy.neode()
|
||||
.firstOf('User', { slug })
|
||||
.then(user => {
|
||||
@ -15,4 +15,4 @@ Given('I am logged in as {string}', slug => {
|
||||
.then(user => {
|
||||
cy.setCookie('ocelot-social-token', encode(user))
|
||||
})
|
||||
});
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then("I am on page {string}", page => {
|
||||
cy.location("pathname")
|
||||
.should("match", new RegExp(page));
|
||||
});
|
||||
defineStep('I am on page {string}', page => {
|
||||
cy.location('pathname')
|
||||
.should('match', new RegExp(page))
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Then } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
Then('I can see the following table:', table => {
|
||||
defineStep('I can see the following table:', table => {
|
||||
const headers = table.raw()[0]
|
||||
headers.forEach((expected, i) => {
|
||||
cy.get('thead th')
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I choose the following text as content:", text => {
|
||||
defineStep('I choose the following text as content:', text => {
|
||||
cy.task('getValue', 'lastPost').then(lastPost => {
|
||||
lastPost.content = text.replace("\n", " ");
|
||||
lastPost.content = text.replace('\n', ' ')
|
||||
cy.task('pushValue', { name: 'lastPost', value: lastPost })
|
||||
cy.get(".editor .ProseMirror").type(lastPost.content);
|
||||
cy.get('.editor .ProseMirror').type(lastPost.content)
|
||||
})
|
||||
});
|
||||
})
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { When } from "@badeball/cypress-cucumber-preprocessor";
|
||||
import { defineStep } from '@badeball/cypress-cucumber-preprocessor'
|
||||
|
||||
When("I click on {string}", element => {
|
||||
defineStep('I click on {string}', element => {
|
||||
const elementSelectors = {
|
||||
'submit button': 'button[name=submit]',
|
||||
'create post button': '.post-add-button',
|
||||
@ -15,5 +15,5 @@ When("I click on {string}", element => {
|
||||
|
||||
cy.get(elementSelectors[element])
|
||||
.click()
|
||||
.wait(750);
|
||||
});
|
||||
.wait(750)
|
||||
})
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user