package net.billforward.model; import java.math.BigDecimal; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Currency; import java.util.Date; import org.junit.Test; import net.billforward.exception.BillforwardException; import net.billforward.model.TaxationStrategy.TaxationCountry; public class TaxationStrategyTests extends TestBase { //@Test public void getAll() throws BillforwardException { TaxationStrategy[] TaxationStrategies = TaxationStrategy.getAll(); for(TaxationStrategy tax : TaxationStrategies) { System.out.println(tax); } } //@Test public void create() throws BillforwardException { TaxationStrategy tax = new TaxationStrategy(); tax.setName("GST"); tax.setCurrency(Currency.getInstance("USD")); tax.setCountry(TaxationCountry.USA); tax.setProvince("CAlifornia"); tax.setPercentage(new BigDecimal("7.5")); tax = TaxationStrategy.create(tax); System.out.println(tax); } //@Test public void scheduleChange() throws BillforwardException, ParseException { DateFormat formatter = new SimpleDateFormat("MM/dd/yy"); Date date = formatter.parse("09/28/15"); TaxationStrategy tax = new TaxationStrategy(); tax.setID("TAX-E74F9C24-EB19-45E1-806D-01F9117A"); tax.setPercentage(new BigDecimal("10")); tax.setValidFrom(date); tax = TaxationStrategy.create(tax); System.out.println(tax); } //@Test public void getByID() throws BillforwardException { TaxationStrategy tax = TaxationStrategy.getByID("TAX-E74F9C24-EB19-45E1-806D-01F9117A"); System.out.println(tax); } //@Test public void updateTax() throws BillforwardException { TaxationStrategy tax = TaxationStrategy.getByID("TAX-E74F9C24-EB19-45E1-806D-01F9117A"); tax.setPercentage(new BigDecimal("6.5")); tax = tax.save(); System.out.println(tax); } //@Test public void retire() throws BillforwardException { TaxationStrategy tax = TaxationStrategy.getByVersionID("TAX-2C539974-01A7-4CDA-9B38-902905BB"); tax = tax.retire(); System.out.println(tax); } //@Test public void addDefaultTaxationStrategy() throws BillforwardException { //US //TaxationStrategy tax = TaxationStrategy.getByID("TAX-1E8DDFD7-6E7A-47DF-9409-D6E38972"); //TaxationStrategy tax = TaxationStrategy.getByID("TAX-68DED146-5C78-4EFD-929C-65DD2FD6"); //UK //TaxationStrategy tax = TaxationStrategy.getByID("TAX-171A5B1D-A1F3-400A-A721-EB877AD3"); //TaxationStrategy tax = TaxationStrategy.getByVersionID("TAX-171A5B1D-A1F3-400A-A721-EB877AD3"); TaxationStrategy tax = TaxationStrategy.getByID("TAX-89C939BF-CDA1-4E54-A30D-0976C204"); tax.setName("vat3"); tax.setDefaultTaxationStrategy(true); //tax.setPercentage(new BigDecimal("72")); tax = tax.save(); System.out.println(tax); } //@Test public void chanegDefaultTaxationStrategy() throws BillforwardException { TaxationStrategy tax = TaxationStrategy.getByID("TAX-1E8DDFD7-6E7A-47DF-9409-D6E38972"); tax.setDefaultTaxationStrategy(true); tax = tax.save(); System.out.println(tax); } //@Test public void addTax() throws BillforwardException { RatePlan ratePlan = RatePlan.getByID("EED77FD0-BA6F-4386-8343-9F4080DF305F"); TaxationStrategy tax = TaxationStrategy.getByID("TAX-68DED146-5C78-4EFD-929C-65DD2FD6"); tax = ratePlan.addTax(tax.getID()); System.out.println(tax); } @Test public void removeTax() throws BillforwardException { RatePlan ratePlan = RatePlan.getByID("EED77FD0-BA6F-4386-8343-9F4080DF305F"); for(TaxationStrategy tax : ratePlan.getTax()) { ratePlan.removeTax(tax.getID()); System.out.println(tax); } } //@Test public void listTax() throws BillforwardException { RatePlan ratePlan = RatePlan.getByID("EED77FD0-BA6F-4386-8343-9F4080DF305F"); TaxationStrategy[] taxes = ratePlan.getTax(); for(TaxationStrategy tax : taxes) { System.out.println(tax); } } }