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 TrailerMock {
    public static CalculationData PrepareCalculationTrailer1() {
        return prepareTrailerTest()
                .setPrClass(PrClass.CARNEW)
                .setCustomer(Customer.CONSUMER)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }

    public static CalculationData PrepareCalculationTrailer1_1() {
        return prepareTrailerTest()
                .setPrClass(PrClass.CARNEW)
                .setCustomer(Customer.CONSUMER)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }

    public static CalculationData PrepareCalculationTrailer2() {
        return prepareTrailerTest()
                .setPrClass(PrClass.CARNEW)
                .setCustomer(Customer.CONSUMER)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setProduct(Product.AUTO_CREDIT_C2C);
    }

    public static CalculationData PrepareCalculationTrailer4() {
        return prepareTrailerTest()
                .setPrClass(PrClass.CARUSED)
                .setCustomer(Customer.CONSUMER)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setYear(Year.getPreviousYear())
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }

    public static CalculationData PrepareCalculationTrailer5() {
        return prepareTrailerTest()
                .setPrClass(PrClass.CARUSED)
                .setCustomer(Customer.CONSUMER)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setYear(Year.getPreviousYear())
                .setProduct(Product.AUTO_CREDIT_C2C);
    }

    public static CalculationData PrepareCalculationTrailer7() {
        return prepareTrailerTest()
                .setPrClass(PrClass.CARNEW)
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }

    public static CalculationData PrepareCalculationTrailer8() {
        return prepareTrailerTest()
                .setPrClass(PrClass.CARNEW)
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setProduct(Product.AUTO_CREDIT_C2C);
    }

    public static CalculationData PrepareCalculationTrailer9() {
        return prepareTrailerTest()
                .setPrClass(PrClass.CARNEW)
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setProduct(Product.AUTO_CREDIT_BACK_LOAN);
    }

    public static CalculationData PrepareCalculationTrailer10() {
        return prepareTrailerTest()
                .setPrClass(PrClass.CARUSED)
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setYear(Year.getPreviousYear())
                .setProduct(Product.AUTO_CREDIT_STANDARD);
    }

    public static CalculationData PrepareCalculationTrailer11() {
        return prepareTrailerTest()
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setPrClass(PrClass.CARUSED)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setYear(Year.getPreviousYear())
                .setProduct(Product.AUTO_CREDIT_C2C);
    }

    public static CalculationData PrepareCalculationTrailer12() {
        return prepareTrailerTest()
                .setCustomer(Customer.BUSINESSMAN_WITHOUT_VAT)
                .setPrClass(PrClass.CARUSED)
                .setVat(Vat.NO)
                .setMonth(MonthUtil.getCurrentMonth())
                .setYear(Year.getPreviousYear())
                .setProduct(Product.AUTO_CREDIT_BACK_LOAN);
    }

    private static CalculationData prepareTrailerTest() {
        CalculationData calculationData = new CalculationData();
        return calculationData
                .setPrGroup(PrGroup.TRAILER)
                .setGroup(Group.O1)
                .setBrand(Brand.AGADOS)
                .setModel(Model.HANDY)
                .setFuel(FilterFuel.WITHOUT_FUEL)
                .setPrice(500000)
                .setUsage(Usage.OTHERS);
    }
}
