Commit f9b266b8 authored by Mathias Dahlstrøm's avatar Mathias Dahlstrøm
Browse files

initial commit

parent 7a1bf48c
Pipeline #136016 failed with stages
in 46 seconds
node_modules
# language: no
Egenskap: Betalingsinformasjon
Som kunde av nettkiosken
Ønsker jeg å kunne legge inn betalingsinformasjon
Slik at jeg kan få godis i posten
Scenario: Legge inn betalingsinformasjon
Gitt at jeg har lagt inn varer i handlekurven
Og trykket på Gå til betaling
Når jeg legger inn navn, adresse, postnummer, poststed og kortnummer
Og trykker på Fullfør kjøp
skal jeg få beskjed om at kjøpet er registrert
Gitt at jeg har lagt inn varer i handlekurven
Og trykket på Gå til betaling
Når jeg legger inn ugyldige verdier i feltene
skal jeg få feilmeldinger for disse
\ No newline at end of file
import { Given, When, Then, And } from "cypress-cucumber-preprocessor/steps";
Given(/^at jeg har lagt inn varer i handlekurven$/, () => {
cy.visit("http://localhost:8080");
cy.get("#product").select("Hubba bubba");
cy.get("#quantity").clear().type("4");
cy.get("#saveItem").click();
cy.get("#product").select("Smørbukk");
cy.get("#quantity").clear().type("5");
cy.get("#saveItem").click();
cy.get("#product").select("Stratos");
cy.get("#quantity").clear().type("1");
cy.get("#saveItem").click();
cy.get("#product").select("Hobby");
cy.get("#quantity").clear().type("2");
cy.get("#saveItem").click();
cy.get("#list> li").should("have.length", 4);
});
And(/^trykket på Gå til betaling$/, () => {
cy.get("#goToPayment").click();
});
When(
/^jeg legger inn navn, adresse, postnummer, poststed og kortnummer$/,
() => {
cy.get("#fullName").clear().type("Mathias D");
cy.get("#address").clear().type("Bjørnstjerne Bjørnsons Gate 33");
cy.get("#postCode").clear().type("0155");
cy.get("#city").clear().type("Oslo");
cy.get("#creditCardNo").clear().type("1234567890123456");
}
);
And(/^trykker på Fullfør kjøp$/, () => {
cy.get("input[type=submit]").click();
});
Then(/^skal jeg få beskjed om at kjøpet er registrert$/, () => {
cy.get(".confirmation").first().contains("Din ordre er registrert.");
});
// Given er allerede definert
// And er allerede definert
When(/^jeg legger inn ugyldige verdier i feltene$/, () => {
cy.get(".formField> input").first().clear().blur();
cy.get(".formField> input").eq(1).clear().blur();
cy.get(".formField> input").eq(2).clear().blur();
cy.get(".formField> input").eq(3).clear().blur();
cy.get(".formField> input").eq(4).clear().blur();
cy.get(".formField> input").eq(4).clear().type("mittkortnummer");
});
Then(/^skal jeg få feilmeldinger for disse$/, () => {
cy.get("#fullNameError").contains("Feltet må ha en verdi");
cy.get("#addressError").contains("Feltet må ha en verdi");
cy.get("#postCodeError").contains("Feltet må ha en verdi");
cy.get("#cityError").contains("Feltet må ha en verdi");
cy.get("#creditCardNoError").contains(
"Kredittkortnummeret må bestå av 16 siffer"
);
});
......@@ -10,3 +10,13 @@ Egenskap: Handlekurv
Når jeg legger inn varer og kvanta
skal handlekurven inneholde det jeg har lagt inn
Og den skal ha riktig totalpris
Gitt at jeg har åpnet nettkiosken
Og lagt inn varer og kvanta
Når jeg sletter varer
skal ikke handlekurven inneholde det jeg har slettet
Gitt at jeg har åpnet nettkiosken
Og lagt inn varer og kvanta andre gang
Når jeg oppdaterer kvanta for en vare
skal handlekurven inneholde riktig kvanta for varen
\ No newline at end of file
import { Given, When, Then, And } from "cypress-cucumber-preprocessor/steps";
Given(/^at jeg har åpnet nettkiosken$/, () => {
cy.visit('http://localhost:8080');
cy.visit("http://localhost:8080");
});
When(/^jeg legger inn varer og kvanta$/, () => {
cy.get('#product').select('Hubba bubba');
cy.get('#quantity').clear().type('4');
cy.get('#saveItem').click();
cy.get("#product").select("Hubba bubba");
cy.get("#quantity").clear().type("4");
cy.get("#saveItem").click();
cy.get('#product').select('Smørbukk');
cy.get('#quantity').clear().type('5');
cy.get('#saveItem').click();
cy.get("#product").select("Smørbukk");
cy.get("#quantity").clear().type("5");
cy.get("#saveItem").click();
cy.get('#product').select('Stratos');
cy.get('#quantity').clear().type('1');
cy.get('#saveItem').click();
cy.get("#product").select("Stratos");
cy.get("#quantity").clear().type("1");
cy.get("#saveItem").click();
cy.get('#product').select('Hobby');
cy.get('#quantity').clear().type('2');
cy.get('#saveItem').click();
cy.get("#product").select("Hobby");
cy.get("#quantity").clear().type("2");
cy.get("#saveItem").click();
});
Then(/^skal handlekurven inneholde det jeg har lagt inn$/, () => {
// TODO: Verifiser innholdet i lista med should()
cy.get("#list> li")
.should("have.length", 4)
.should(($lis) => {
expect($lis.eq(0).text()).to.contain("1 Stratos");
expect($lis.eq(1).text()).to.contain("4 Hubba bubba");
expect($lis.eq(2).text()).to.contain("5 Smørbukk");
expect($lis.eq(3).text()).to.contain("2 Hobby");
});
});
And(/^den skal ha riktig totalpris$/, function () {
cy.get('#price').should('have.text', '33');
});
\ No newline at end of file
And(/^den skal ha riktig totalpris$/, () => {
cy.get("#price").should("have.text", "33");
});
// Given allerede definert
And(/^lagt inn varer og kvanta$/, () => {
cy.get("#list> li").should("have.length", 4);
});
When(/^jeg sletter varer$/, () => {
cy.get("#product").select("Smørbukk");
cy.get("#deleteItem").click();
});
Then(/^skal ikke handlekurven inneholde det jeg har slettet$/, () => {
cy.get("#list> li")
.should("have.length", 3)
.should(($lis) => {
expect($lis.eq(0).text()).to.contain("1 Stratos");
expect($lis.eq(1).text()).to.contain("4 Hubba bubba");
expect($lis.eq(2).text()).to.contain("2 Hobby");
});
cy.get("#price").should("have.text", "28");
});
//Given allerede definert
// La til "andre gang" i dette "Og"-et i scenario, slik at det ikke blir
// forvekslet av Cypress for å være det forrige "Og"-et som skal hentes igjen
And(/^lagt inn varer og kvanta andre gang$/, () => {
cy.get("#list> li").should("have.length", 3);
});
When(/^jeg oppdaterer kvanta for en vare$/, () => {
cy.get("#product").select("Hubba bubba");
cy.get("#quantity").clear().type("6");
cy.get("#saveItem").click();
});
Then(/^skal handlekurven inneholde riktig kvanta for varen$/, () => {
cy.get("#list> li")
.should("have.length", 3)
.should(($lis) => {
expect($lis.eq(1).text()).to.contain("6 Hubba bubba");
});
cy.get("#price").should("have.text", "32");
});
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment