Skip to content

Instantly share code, notes, and snippets.

@terinek-tes
Created September 24, 2020 22:24
Show Gist options
  • Save terinek-tes/6e782d99a01cd4c68858ae19994bc332 to your computer and use it in GitHub Desktop.
Save terinek-tes/6e782d99a01cd4c68858ae19994bc332 to your computer and use it in GitHub Desktop.
Karate E2E snippet
Feature: We Are Safe tests
Background:
* def BaseURL = UrlBase
* def healthResults = read('healthResults.json')
* def Tokens = callonce read('../generateData.feature')
* def SToken = Tokens.response.screeningToken
* def RToken = Tokens.response.responsiblePersonToken
* def check2Abort = (Tokens.response == 'failed' ? karate.abort() : {} )
Scenario: E2E test happy path
* def validateSToken = call read('../CoronaChecker/validateSToken.feature')
* match validateSToken.response contains {result:'PASSED',screeningId:#(SToken),valid:true}
* def saveResults = call read('../CoronaChecker/saveResults.feature') healthResults
* match saveResults.response == {id:#(SToken)}
* def validateSToken2 = call read('../CoronaChecker/validateSToken.feature')
* match validateSToken2.response contains {result:'FINISHED',screeningId:#(SToken),valid:true}
And eval if (validateSToken.responseStatus != 200) karate.call('sendResultSlack.feature')
Scenario: Validate token of the responsible person
* def validateRToken = call read('../ResponsiblePerson/validateRToken.feature')
Scenario: Read results by responsible person
* def readResults = call read('../ResponsiblePerson/readResults.feature')
* match readResults.response contains healthResults
And eval if (readResults.responseStatus != 200) karate.call('sendResultSlack.feature')
* def check2Abort = (readResults.responseStatus != 200 ? karate.abort() : {} )
Scenario: Add temperature by responsible person
* def measurementNumber = "1"
* def measuredTemperature = 39.0
* def addTemperature = call read('../ResponsiblePerson/addTemperature.feature')
* match addTemperature.response contains any {temperatureFirst:#(measuredTemperature)}
Scenario: Wait 7min
* def sleepTime = measurementWait
* def sleep7min = call read('../sleep.feature')
Scenario: Add temperature2 by responsible person
* def measurementNumber = "2"
* def measuredTemperature = 37.0
* def addTemperature2 = call read('../ResponsiblePerson/addTemperature.feature')
* match addTemperature2.response contains any {temperatureSecond:#(measuredTemperature)}
Scenario: Add transport by responsible person
* def transportType = "WALK"
* def addTransport = call read('../ResponsiblePerson/addTransport.feature')
* match addTransport.response == {id:#(SToken)}
Scenario: Check employee in list
* def getEmployees = call read('../ResponsiblePerson/getEmployees.feature')
* print getEmployees.response
* match getEmployees.response contains {id:#(SToken),temperatureSecond:#null,temperatureSecondTimestamp:#null,temperatureFirstTimestamp:#null,name:#ignore,resultCode:#null,temperatureFirst:#null,employeeId:1,id:#ignore,state:#ignore,temperatureFirst:#null,employeeId:1,id:#ignore,state:#ignore,finishWaitingTimestamp:#ignore}
And eval if (getEmployees.responseStatus == 400) karate.call('sendResultSlack.feature')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment