@Test(groups = "fast") public void testJson() throws Exception { final String productName = UUID.randomUUID().toString(); final String planName = UUID.randomUUID().toString(); final BillingPeriod billingPeriod = BillingPeriod.ANNUAL; final String priceListName = UUID.randomUUID().toString(); final PlanDetailJson planDetailJason = new PlanDetailJson(productName, planName, billingPeriod, priceListName, null); Assert.assertEquals(planDetailJason.getProductName(), productName); Assert.assertEquals(planDetailJason.getPlanName(), planName); Assert.assertEquals(planDetailJason.getBillingPeriod(), billingPeriod); Assert.assertEquals(planDetailJason.getPriceListName(), priceListName); Assert.assertEquals(planDetailJason.getFinalPhasePrice(), null); final String asJson = mapper.writeValueAsString(planDetailJason); Assert.assertEquals(asJson, "{\"productName\":\"" + planDetailJason.getProductName() + "\"," + "\"planName\":\"" + planDetailJason.getPlanName() + "\"," + "\"billingPeriod\":\"" + planDetailJason.getBillingPeriod().toString() + "\"," + "\"priceListName\":\"" + planDetailJason.getPriceListName() + "\"," + "\"finalPhasePrice\":null}"); final PlanDetailJson fromJson = mapper.readValue(asJson, PlanDetailJson.class); Assert.assertEquals(fromJson, planDetailJason); }
@Test(groups = "fast") public void testFromListing() throws Exception { final Product product = Mockito.mock(Product.class); Mockito.when(product.getName()).thenReturn(UUID.randomUUID().toString()); final InternationalPrice price = Mockito.mock(InternationalPrice.class); final PlanPhase planPhase = Mockito.mock(PlanPhase.class); Mockito.when(planPhase.getRecurringPrice()).thenReturn(price); final Plan plan = Mockito.mock(Plan.class); Mockito.when(plan.getProduct()).thenReturn(product); Mockito.when(plan.getName()).thenReturn(UUID.randomUUID().toString()); Mockito.when(plan.getBillingPeriod()).thenReturn(BillingPeriod.QUARTERLY); Mockito.when(plan.getFinalPhase()).thenReturn(planPhase); final PriceList priceList = Mockito.mock(PriceList.class); Mockito.when(priceList.getName()).thenReturn(UUID.randomUUID().toString()); final Listing listing = Mockito.mock(Listing.class); Mockito.when(listing.getPlan()).thenReturn(plan); Mockito.when(listing.getPriceList()).thenReturn(priceList); final PlanDetailJson planDetailJason = new PlanDetailJson(listing); Assert.assertEquals(planDetailJason.getProductName(), plan.getProduct().getName()); Assert.assertEquals(planDetailJason.getPlanName(), plan.getName()); Assert.assertEquals(planDetailJason.getBillingPeriod(), plan.getBillingPeriod()); Assert.assertEquals(planDetailJason.getPriceListName(), priceList.getName()); Assert.assertEquals(planDetailJason.getFinalPhasePrice().size(), 0); } }