Scenario('I can as a claimant accept the defendants full admission by instalments and reject defendants payment method in favour of repayment plan, accepting court determination, requesting CCJ then finally settling @admissions @nightly', async (I: I) => {
   const testData = await EndToEndTestData.prepareData(I, PartyType.INDIVIDUAL, PartyType.INDIVIDUAL)
   testData.paymentOption = PaymentOption.INSTALMENTS
   testData.claimantPaymentOption = PaymentOption.INSTALMENTS
   const claimantResponseTestData = new UnreasonableClaimantResponseTestData()
   claimantResponseTestData.isExpectingToSeeCourtOfferedInstalmentsPage = true
   claimantResponseTestData.pageSpecificValues.settleClaimEnterDate = '2019-01-01'
   // as defendant
   helperSteps.finishResponseWithFullAdmission(testData)
   I.click('Sign out')
   // as claimant
   userSteps.login(testData.claimantEmail)
   claimantResponseSteps.acceptCcjFromDashboardWhenRejectPaymentMethod(testData, claimantResponseTestData, 'View and respond to the offer')
   I.see('County Court Judgment requested')
   confirmationPage.clickGoToYourAccount()
   I.see(testData.claimRef)
   I.see('County Court Judgment')
   claimantResponseSteps.settleClaim(testData, claimantResponseTestData, 'Tell us you’ve been paid')
   I.see('The claim is now settled')
   confirmationPage.clickGoToYourAccount()
   I.see(testData.claimRef)
   I.see('This claim is settled.')
 })
 Scenario('I can as a claimant accept the defendants full admission by set date with CCJ and a previous payment made @admissions @citizen', async (I: I) => {
   const testData = await EndToEndTestData.prepareData(I, PartyType.INDIVIDUAL, PartyType.INDIVIDUAL)
   testData.paymentOption = PaymentOption.BY_SET_DATE
   // as defendant
   helperSteps.finishResponseWithFullAdmission(testData)
   I.click('Sign out')
   // as claimant
   userSteps.login(testData.claimantEmail)
   claimantResponseSteps.acceptCcjFromDashboardWhenDefendantHasPaidSomeAndAcceptPaymentMethod(testData, 'View and respond to the offer')
   I.see('County Court Judgment requested')
   confirmationPage.clickGoToYourAccount()
   I.see(testData.claimRef)
   I.see('County Court Judgment')
 })
 Scenario('I can as a claimant accept the defendants full admission by set date with settlement agreement and rejecting defendants payment method in favour of immediate payment @nightly @admissions', async (I: I) => {
   const testData = await EndToEndTestData.prepareData(I, PartyType.INDIVIDUAL, PartyType.INDIVIDUAL)
   testData.paymentOption = PaymentOption.BY_SET_DATE
   testData.claimantPaymentOption = PaymentOption.IMMEDIATELY
   const claimantResponseTestData = new ClaimantResponseTestData()
   // as defendant
   helperSteps.finishResponseWithFullAdmission(testData)
   I.click('Sign out')
   // as claimant
   userSteps.login(testData.claimantEmail)
   claimantResponseSteps.acceptSettlementFromDashboardWhenRejectPaymentMethod(testData, claimantResponseTestData, 'View and respond to the offer')
   checkAndSendPage.verifyFactsForSettlement()
   checkAndSendPage.checkFactsTrueAndSubmit()
   confirmationPage.clickGoToYourAccount()
   I.see(testData.claimRef)
   I.see('You’ve signed a settlement agreement')
 })
 Scenario('I can as a claimant accept the defendants full admission by instalments with settlement agreement and rejecting defendants payment method in favour of courts proposed repayment plan @citizen @admissions', async (I: I) => {
   const testData = await EndToEndTestData.prepareData(I, PartyType.INDIVIDUAL, PartyType.INDIVIDUAL)
   testData.paymentOption = PaymentOption.INSTALMENTS
   testData.claimantPaymentOption = PaymentOption.INSTALMENTS
   const unreasonableClaimantResponseTestDate = new UnreasonableClaimantResponseTestData()
   // as defendant
   helperSteps.finishResponseWithFullAdmission(testData)
   I.click('Sign out')
   // as claimant
   userSteps.login(testData.claimantEmail)
   claimantResponseSteps.acceptCourtOfferedRepaymentPlan(testData, unreasonableClaimantResponseTestDate, 'View and respond to the offer')
   checkAndSendPage.verifyFactsForSettlement()
   I.see('The court rejected your repayment plan and calculated a more affordable one')
   checkAndSendPage.checkFactsTrueAndSubmit()
   confirmationPage.clickGoToYourAccount()
   I.see(testData.claimRef)
   I.see('You’ve signed a settlement agreement')
 })
  Scenario('I can as a claimant accept the defendants part admission by immediately with settlement agreement and accepting defendants payment method @citizen @admissions', async (I: I) => {

    const testData = await EndToEndTestData.prepareData(I, PartyType.INDIVIDUAL, PartyType.INDIVIDUAL)
    testData.paymentOption = PaymentOption.IMMEDIATELY
    testData.defenceType = DefenceType.PART_ADMISSION
    testData.defendantClaimsToHavePaidInFull = false
    const claimantResponseTestData = new ClaimantResponseTestData()
    claimantResponseTestData.isExpectingToSeeHowTheyWantToPayPage = true
    // as defendant
    helperSteps.finishResponse(testData)
    I.click('Sign out')
    // as claimant
    userSteps.login(testData.claimantEmail)
    claimantResponseSteps.acceptSettlementFromDashboardWhenAcceptPaymentMethod(testData, claimantResponseTestData, 'View and respond')
    checkAndSendPage.verifyFactsForSettlement()
    checkAndSendPage.checkFactsTrueAndSubmit()
    I.see('You’ve signed a settlement agreement')
    confirmationPage.clickGoToYourAccount()
    I.see(testData.claimRef)
    I.see('You’ve signed a settlement agreement.')
  })
  Scenario('I can as a claimant reject the defendants part admission by immediately @citizen @admissions', async (I: I) => {

    const testData = await EndToEndTestData.prepareData(I, PartyType.INDIVIDUAL, PartyType.INDIVIDUAL)
    testData.paymentOption = PaymentOption.IMMEDIATELY
    testData.defenceType = DefenceType.PART_ADMISSION
    testData.defendantClaimsToHavePaidInFull = false
    const claimantResponseTestData = new ClaimantResponseTestData()
    claimantResponseTestData.isExpectingToSeeHowTheyWantToPayPage = true
    // as defendant
    helperSteps.finishResponse(testData, false)
    I.click('Sign out')
    // as claimant
    userSteps.login(testData.claimantEmail)
    claimantResponseSteps.viewClaimFromDashboard(testData.claimRef)
    claimantResponseSteps.respondToOffer('View and respond')
    claimantResponseSteps.reject(testData, claimantResponseTestData)
    checkAndSendPage.verifyFactsForPartAdmitRejection()
    checkAndSendPage.checkFactsTrueAndSubmit()
    I.see('You’ve rejected their response')
    confirmationPage.clickGoToYourAccount()
    I.see(testData.claimRef)
    I.see('You’ve rejected the defendant’s admission.')
  })