Commit 96a10913 authored by sgandhi's avatar sgandhi

.

parent 7d3dd814
......@@ -29,6 +29,13 @@ dependencies {
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
implementation group: 'junit', name: 'junit', version: '4.12'
implementation group: 'org.assertj', name: 'assertj-core', version:'3.11.1'
testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.0.3.RELEASE'
testImplementation group: 'junit', name: 'junit', version: '4.12'
testImplementation 'org.junit.platform:junit-platform-commons:1.5.2'
}
test {
......
......@@ -19,10 +19,6 @@ public class OfferDao {
@Value("${promotion.engine.calculate.discount.url}")
private String promotionEngineUrl ;
public OfferTransactionResponse convertions(OfferTransactionRequest offerTransactionRequest) {
return null;
}
public PEResponse callPE(PERequest peRequest) {
ResponseEntity<PEResponse> peResponse = restTemplate.postForEntity("http://localhost:8081"+promotionEngineUrl,peRequest,PEResponse.class);
return peResponse.getBody();
......
package com.nisum.offertransactionservice.dao;
import com.nisum.offertransactionservice.model.Item;
import com.nisum.offertransactionservice.model.OfferLookup;
import com.nisum.offertransactionservice.model.PERequest;
import com.nisum.offertransactionservice.model.PEResponse;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {OfferDao.class})
public class OfferDaoTest {
@Autowired
private RestTemplate restTemplate;
@Autowired
private OfferDao offerDao;
/*@Value("${promotion.engine.calculate.discount.url}")
private String promotionEngineUrl ;*/
@Test
public void test(){
PEResponse peResponse = offerDao.callPE(getPeRequest());
Mockito.when(restTemplate.postForEntity("http://localhost:8081/promotionEngine/calculateDiscount",getPeRequest(), PEResponse.class))
.thenReturn(new ResponseEntity<PEResponse>(getPeResponse(), HttpStatus.OK));
Assert.assertEquals(peResponse,getPeResponse());
}
private PERequest getPeRequest(){
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 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;
}
}
promotion.engine.calculate.discount.url=/promotionEngine/calculateDiscount
\ No newline at end of file
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