Commit 3c3094d2 authored by sgandhi's avatar sgandhi

.

parent 4ea20446
......@@ -13,17 +13,16 @@ import org.springframework.web.client.*;
@Component
@PropertySource("classpath:application.properties")
public class OfferDao {
@Autowired
private RestTemplate restTemplate;
/*Value("${promotion.engine.calculate.discount.url}")
private String promotionEngineUrl ;*/
@Value("${promotion.engine.calculate.discount.url}")
private String promotionEngineUrl ;
public PEResponse callPE(PERequest peRequest) {
ResponseEntity<PEResponse> peResponse = restTemplate.postForEntity("http://localhost:8081/promotionEngine/calculateDiscount",peRequest,PEResponse.class);
ResponseEntity<PEResponse> peResponse = restTemplate.postForEntity("http://localhost:8081"+promotionEngineUrl,peRequest,PEResponse.class);
return peResponse.getBody();
}
}
......@@ -30,7 +30,6 @@ import java.util.ArrayList;
import java.util.List;
@RunWith(MockitoJUnitRunner.class)
@PropertySource("classpath:application.properties")
public class OfferDaoTest {
@Mock
......@@ -44,16 +43,15 @@ public class OfferDaoTest {
MockitoAnnotations.initMocks(this);
}
/*@Value("${promotion.engine.calculate.discount.url}")
private String promotionEngineUrl ;*/
@Value("${promotion.engine.calculate.discount.url}")
private String promotionEngineUrl ;
@Test
public void test(){
Mockito.when(restTemplate.postForEntity("http://localhost:8081/promotionEngine/calculateDiscount",getPeRequest(), PEResponse.class))
Mockito.when(restTemplate.postForEntity("http://localhost:8081"+promotionEngineUrl,getPeRequest(), PEResponse.class))
.thenReturn(new ResponseEntity<PEResponse>(getPeResponse(), HttpStatus.OK));
PEResponse peResponse = offerDao.callPE(getPeRequest());
Assert.assertEquals(peResponse,getPeResponse());
}
......
package com.nisum.offertransactionservice.service;
import com.nisum.offertransactionservice.converter.OfferConverter;
import com.nisum.offertransactionservice.converter.PEResponseToOfferTransactionResConverter;
import com.nisum.offertransactionservice.dao.OfferDao;
import com.nisum.offertransactionservice.dao.OfferLookupRepo;
import com.nisum.offertransactionservice.model.*;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@RunWith(SpringRunner.class)
public class OfferServiceTest {
@Mock
private OfferConverter offerConverter;
@Mock
private OfferLookupRepo offerLookupRepo;
@Mock
private OfferDao offerDao;
@Mock
private PEResponseToOfferTransactionResConverter peResponseToOfferTransactionResConverter;
@InjectMocks
private OfferCallingPEService offerCallingPEService = new OfferCallingPEService();
@Test
public void serviceTest() {
OfferTransactionRequest offerTransactionRequest = getOfferTransactionRequest();
Mockito.when(offerLookupRepo.findAll()).thenReturn(returnOffers());
Mockito.when(offerConverter.apply(getOfferTransactionRequest())).thenReturn(getPEReq());
Mockito.when(offerDao.callPE(getPEReq())).thenReturn(getPeResponse());
Mockito.when(peResponseToOfferTransactionResConverter.apply(getPeResponse())).thenReturn(retOfferTransRes());
OfferTransactionResponse offerTransactionResponse = offerCallingPEService.getDiscountedItemList(offerTransactionRequest);
Assert.assertEquals(offerTransactionResponse,retOfferTransRes());
}
private OfferTransactionResponse retOfferTransRes() {
OfferTransactionResponse offerTransactionResponse = new OfferTransactionResponse();
offerTransactionResponse.setHhid("123");
List<Item> itemList = new ArrayList<>();
Item item1 = new Item("Coke","12",6.05,"cmsCoupons");
Item item2 = new Item("Thumpsup","11",12.32,"cmsCoupons");
itemList.add(item1);
itemList.add(item2);
offerTransactionResponse.setDiscountedItemList(itemList);
return offerTransactionResponse;
}
private PEResponse getPeResponse(){
PEResponse peResponse = new PEResponse();
peResponse.setHhid("123");
List<Item> itemList = new ArrayList<>();
Item item1 = new Item("Coke","12",6.05,"cmsCoupons");
Item item2 = new Item("Thumpsup","11",12.32,"cmsCoupons");
itemList.add(item1);
itemList.add(item2);
peResponse.setDiscountedItemList(itemList);
return peResponse;
}
private PERequest getPEReq() {
PERequest peRequest = new PERequest();
peRequest.setHhId("123");
List<Item> itemList = new ArrayList<>();
Item item1 = new Item("Coke","12",13.05,"cmsCoupons");
Item item2 = new Item("Thumpsup","11",14.05,"cmsCoupons");
itemList.add(item1);
itemList.add(item2);
peRequest.setItemList(itemList);
/*OfferLookup offerLookup1 = new OfferLookup("1","12","234","02","AND","BOGO");
OfferLookup offerLookup2 = new OfferLookup("2","13","234","02","OR","BXGY");
List<OfferLookup> offerLookups = new ArrayList<>();
offerLookups.add(offerLookup1);
offerLookups.add(offerLookup2);
peRequest.setEligibleOffers(offerLookups);*/
return peRequest;
}
private OfferTransactionRequest getOfferTransactionRequest() {
OfferTransactionRequest offerTransactionRequest = new OfferTransactionRequest();
offerTransactionRequest.setHhId("123");
List<Item> itemList = new ArrayList<>();
Item item1 = new Item("Coke", "12", 13.05, "cmsCoupons");
Item item2 = new Item("Thumpsup", "11", 14.05, "cmsCoupons");
itemList.add(item1);
itemList.add(item2);
offerTransactionRequest.setItemList(itemList);
return offerTransactionRequest;
}
public Iterable<OfferLookup> returnOffers() {
OfferLookup offerLookup1 = new OfferLookup("1", "12", "234", "02", "AND", "BOGO");
OfferLookup offerLookup2 = new OfferLookup("2", "13", "234", "02", "OR", "BXGY");
List<OfferLookup> offerLookups = new ArrayList<>();
offerLookups.add(offerLookup1);
offerLookups.add(offerLookup2);
return offerLookups.stream().collect(Collectors.toList());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment