2019-03-26 23:52:01 +01:00

74 lines
1.6 KiB
JavaScript

import { When, Then } from 'cypress-cucumber-preprocessor/steps'
When('I search for {string}', value => {
cy.get('#nav-search')
.focus()
.type(value)
})
Then('I should have one post in the select dropdown', () => {
cy.get('.ds-select-dropdown').should($li => {
expect($li).to.have.length(1)
})
})
Then('I should see the following posts in the select dropdown:', table => {
table.hashes().forEach(({ title }) => {
cy.get('.ds-select-dropdown').should('contain', title)
})
})
When('I type {string} and press Enter', value => {
cy.get('#nav-search')
.focus()
.type(value)
.type('{enter}', { force: true })
})
When('I type {string} and press escape', value => {
cy.get('#nav-search')
.focus()
.type(value)
.type('{esc}')
})
Then('the search field should clear', () => {
cy.get('#nav-search').should('have.text', '')
})
When('I select an entry', () => {
cy.get('.ds-select-dropdown ul li')
.first()
.trigger('click')
})
Then("I should be on the post's page", () => {
cy.location('pathname').should(
'contain',
'/post/'
)
cy.location('pathname').should(
'eq',
'/post/p1/101-essays-that-will-change-the-way-you-think'
)
})
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'
)
}
)
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'
)
}
)