Upload
proidea
View
34
Download
0
Embed Size (px)
Citation preview
BDD BRZMI PIĘKNIE.TYLKO DLACZEGO CZĘSTO SIE NIE UDAJE?
@tommykaczmarek
Scenario Aktywacja kartyGiven Użytkownik ma nieaktywną karteWhen Użytkownik aktywuje karte podając $pinThen Aktywacja ma status $status i zostanie wyświelony komunikat $komunikat
Examples:| pin | status | komunikat || 2244 | OK | Ustawienie kodu PIN przebiegło pomyślnie || 22a2 | FAIL | Dozwolone tylko liczby || 62628812 | FAIL | Długość kodu PIN powinna wynosić 4 znaki |
public class CardActivationSteps
private BankCardApi bankCardApi; private BankCard bankCard;
public CardActivationSteps(BankCardApi bankCardApi) this.bankCardApi = bankCardApi;
@Given("Użytkownik ma nieaktywną karte") public void cardIsInactive() bankCard = bankCardApi.prepareNewCard();
@When("Użytkownik aktywuje karte podając $pin") public void cardIsUsedForAFirstTime(@Named("pin") String pin) bankCardApi.activate(bankCard, pin);
@Then("Aktywacja ma status $status i zostanie wyświelony komunikat $komunikat") public void pinGenerationRequest(@Named("status") String status, @Named("komunikat") String komunikat) ActivationResult activationResult = bankCardApi.activationStatus(bankCard); assertThat(activationResult.getStatus().name()).isEqualTo(status); assertThat(activationResult.getError()).isEqualTo(komunikat);
Scenario Użytkownik zakłada konto w serwisieGiven Użytkownik zakłada kontoWhen Użytkownik poda imie $imie oraz nazwisko $nazwiskoThen Operacja ma status $status i zostanie wyświetlony komunikat $komunikatAnd Zostanie wyświetlony błąd : Nieprawidłowo wypełniony formularz
Examples:| imie | nazwisko | status | komunikat || Tomasz | Kaczmarek# | FAIL | Formularz zawiera błędy |
Scenario Zmiana miasta w profilu użytkownikaGiven Użytkownik zaloguje się do serwisu jako zenon And Wprowadzi hasło zenon1And Kliknie na zakładke UstawieniaAnd Przejdzie do ZaawansowaneAnd Przejdzie do sekcji profilWhen Naciśnie przycisk edytuj profilThen Zostanie przekierowany do strony edycji profiluWhen Wprowadzi miasto zamieszkaniaAnd Naciśnie zapiszThen Profil zostanie zapisanyAnd Wyświetli sie informacja: Profil zapisany
WARUNKI BRZEGOWE
Scenario Użytkownik zakłada konto w serwisieGiven Użytkownik zakłada kontoWhen Użytkownik poda imie $imie oraz nazwisko $nazwiskoThen Operacja ma status $status i zostanie wyświetlony komunikat $komunikatAnd Zostanie wyświetlony błąd : Nieprawidłowo wypełniony formularz
Examples:| imie | nazwisko | status | komunikat || Tomasz | Kaczmarek# | FAIL | Formularz zawiera błędy || Tomasz@ | Kaczmarek | FAIL | Formularz zawiera błędy || Tomasz | Kaczmarek11 | FAIL | Formularz zawiera błędy || Tomasz23 | Kaczmarek | FAIL | Formularz zawiera błędy || Tomasz | Kaczmarek_ | FAIL | Formularz zawiera błędy || Tomasz | Kaczmarek | FAIL | Formularz zawiera błędy || Tomasz | Kaczmarek% | FAIL | Formularz zawiera błędy || Tomasz | (Kaczmarek) | FAIL | Formularz zawiera błędy |
Given Gateway nie otrzyma ramki RFVS przez 30 sekundAnd Gateway nie może wysłać ramki H3DE do mediatoraWhen Użytkownik wykona akcje ROZPOZNAJThen Na ekranie wyświetli sie: System nie działa, sprobuj później.
Given Mediator jest rozłączonyWhen Użytkownik wykona akcje ROZPOZNAJThen Na ekranie wyświetli sie: System nie działa, sprobuj później.
“Ten scenariusz jest bardzo podobny dopoprzedniego. Utworzymy sobie wspólną
baze początkowych kroków dlascenariuszy.”
“Współdzielenie kodu!”
def "should activate inactive banking card"() given: "Użytkownik ma nieaktywną karte" bankCard = bankCardApi.prepareNewCard();
when: "Użytkownik aktywuje karte podając pin" bankCardApi.activate(bankCard, pin);
then: "Aktywacja ma status status i zostanie wyświelony komunikat komunikat" ActivationResult activationResult = bankCardApi.activationStatus(bankCard);
activationResult.getStatus().name() == status activationResult.getError() == message
where: pin | status | message "2244" | "OK" | "Ustawienie kodu PIN przebiegło pomyślnie" "22a2" | "FAIL" | "Dozwolone tylko liczby" "62628812" | "FAIL" | "Długość kodu PIN powinna wynosić 4 znaki"