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 MotorcycleMock {

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

    public static CalculationData prepareCalculationMotorcycle1_1() {
        return prepareMotorcycleTest()
                .setCustomer(Customer.CONSUMER)
                .setPrClass(PrClass.CARNEW)
                .setVat(Vat.YES)
                .setMonth(MonthUtil.getCurrentMonth())
                .setProduct(Product.MOTO_CREDIT_STANDARD);
    }

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

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

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

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

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

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

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

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

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

    private static CalculationData prepareMotorcycleTest() {
        CalculationData calculationData = new CalculationData();
        return calculationData
                .setPrGroup(PrGroup.MOTORCYCLE)
                .setPrice(300000)
                .setVin("1HD1JRV15DB031048")
                .setFuel(FilterFuel.PETROL)
                .setGroup(Group.LC)
                .setBrand(Brand.HARLEY)
                .setModel(Model.SOFTAIL)
                .setUsage(Usage.OTHERS);
    }
}
