package cz.moneta.test.regression.commercial.auto.smartauto.mockdata;

import cz.moneta.test.dsl.auto.smartauto.shared.*;
import cz.moneta.test.dsl.auto.smartauto.util.MonthUtil;

public class CaravanMock {
    public static CalculationData prepareCalculationCaravan1() {
        return prepareCaravanTest()
                .setCustomer(Customer.CONSUMER)
                .setPrClass(PrClass.CARNEW)
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }
    public static CalculationData prepareCalculationCaravan1_1() {
        return prepareCaravanTest()
                .setCustomer(Customer.CONSUMER)
                .setPrClass(PrClass.CARNEW)
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }
    public static CalculationData prepareCalculationCaravan2() {
        return prepareCaravanTest()
                .setCustomer(Customer.CONSUMER)
                .setPrClass(PrClass.CARNEW)
                .setProduct(Product.AUTO_CREDIT_C2C);
    }
    public static CalculationData prepareCalculationCaravan4() {
        return prepareCaravanTest()
                .setCustomer(Customer.CONSUMER)
                .setPrClass(PrClass.CARUSED)
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }
    public static CalculationData prepareCalculationCaravan5() {
        return prepareCaravanTest()
                .setCustomer(Customer.CONSUMER)
                .setPrClass(PrClass.CARUSED)
                .setProduct(Product.AUTO_CREDIT_C2C);
    }
    public static CalculationData prepareCalculationCaravan7() {
        return prepareCaravanTest()
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setPrClass(PrClass.CARNEW)
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }
    public static CalculationData prepareCalculationCaravan8() {
        return prepareCaravanTest()
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setPrClass(PrClass.CARNEW)
                .setProduct(Product.AUTO_CREDIT_C2C);
    }
    public static CalculationData prepareCalculationCaravan9() {
        return prepareCaravanTest()
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setPrClass(PrClass.CARNEW)
                .setProduct(Product.AUTO_CREDIT_BACK_LOAN);
    }
    public static CalculationData prepareCalculationCaravan10() {
        return prepareCaravanTest()
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setPrClass(PrClass.CARUSED)
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }
    public static CalculationData prepareCalculationCaravan11() {
        return prepareCaravanTest()
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setPrClass(PrClass.CARUSED)
                .setProduct(Product.AUTO_CREDIT_C2C);
    }
    public static CalculationData prepareCalculationCaravan12() {
        return prepareCaravanTest()
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setPrClass(PrClass.CARUSED)
                .setProduct(Product.AUTO_CREDIT_BACK_LOAN);
    }

    private static CalculationData prepareCaravanTest() {
        CalculationData calculationData = new CalculationData();
        return calculationData
                .setPrGroup(PrGroup.CAR)
                .setGroup(Group.M1)
                .setBrand(Brand.FIAT)
                .setModel(Model.BRAVO)
                .setPrice(253000)
                .setVin("ZFA18200004677459")
                .setVat(Vat.NO)
                .setUsage(Usage.CARAVAN)
                .setYear(Year.getPreviousYear())
                .setMonth(MonthUtil.getCurrentMonth());
    }
}
