Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OTSWithFeign
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Bhaskar Katakam
OTSWithFeign
Commits
46315e2b
Commit
46315e2b
authored
Apr 15, 2020
by
sboppud
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Sai Boppudi] Component test fopr Offer Transaction Service Module
parent
65c11c38
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
119 additions
and
0 deletions
+119
-0
OfferTransactionControllerTest.java
...ionservice/controller/OfferTransactionControllerTest.java
+119
-0
No files found.
src/test/java/com/nisum/offertransactionservice/controller/Offer
ControllerComponent
Test.java
→
src/test/java/com/nisum/offertransactionservice/controller/Offer
TransactionController
Test.java
View file @
46315e2b
package
com
.
nisum
.
offertransactionservice
.
controller
;
import
com.nisum.offertransactionservice.client.ClientService
;
import
com.nisum.offertransactionservice.dao.EndOfSaleRepo
;
import
com.nisum.offertransactionservice.dao.OfferLookupRepo
;
import
com.nisum.offertransactionservice.dao.OfferMetaDataRepo
;
import
com.nisum.offertransactionservice.dto.*
;
import
com.nisum.offertransactionservice.model.EndOfSaleEntity
;
import
com.nisum.offertransactionservice.model.OfferLookup
;
import
com.nisum.offertransactionservice.service.OfferCallingPEService
;
import
org.junit.Assert
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.*
;
import
com.nisum.offertransactionservice.model.OfferMeta
;
import
org.junit.jupiter.api.Test
;
import
org.mockito.InjectMocks
;
import
org.mockito.Mock
;
import
org.mockito.Mockito
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.
boot.test.mock.mockito.MockBea
n
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
org.springframework.
context.annotation.Descriptio
n
;
import
reactor.core.publisher.Mono
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.
stream.Collectors
;
import
java.util.
Optional
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
mockito
.
Mockito
.
doNothing
;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
public
class
OfferControllerComponentTest
{
@InjectMocks
private
OfferTransactionController
offerTransactionController
=
new
OfferTransactionController
();
class
OfferTransactionControllerTest
{
@InjectMocks
private
OfferCallingPEService
offerCallingPEService
=
new
OfferCallingPEService
();
@Autowired
private
OfferTransactionController
offerTransactionController
;
@Mock
private
OfferLookupRepo
offerLookupRepo
;
@Mock
private
OfferMetaDataRepo
offerMetaDataRepo
;
@Mock
private
EndOfSaleRepo
endOfSaleRepo
;
@Mock
private
ClientService
clientService
;
@Before
public
void
setUp
()
throws
Exception
{
MockitoAnnotations
.
initMocks
(
this
);
}
private
String
HH_ID_FOR_END_OF_SALE
=
"id01"
;
private
String
TRANSACTION_ID_FOR_END_OF_SALE
=
"tx01"
;
private
String
UU_ID_FOR_END_OF_TRANSACTION
=
"id01"
;
@Description
(
"Component test for getOfferTransactionResponse method"
)
@Test
public
void
test
()
throws
InterruptedException
{
when
(
offerLookupRepo
.
findAll
()).
thenReturn
(
returnOffers
());
when
(
clientService
.
getPeResponseFlux
(
ArgumentMatchers
.
any
())).
thenReturn
(
getPeResponse
());
void
getOfferTransactionResponse
()
throws
InterruptedException
{
when
(
offerLookupRepo
.
findAll
()).
thenReturn
(
getOffers
());
when
(
clientService
.
getPeResponseFlux
(
Mockito
.
any
(
PERequest
.
class
))).
thenReturn
(
getPeResponse
());
when
(
offerMetaDataRepo
.
findByOfferIdAndOfferStatus
(
Mockito
.
anyLong
(),
Mockito
.
anyString
())).
thenReturn
(
Optional
.
of
(
new
OfferMeta
()));
OfferTransactionResponse
offerTransactionResponse
=
offerTransactionController
.
getOfferTransactionResponse
(
getOfferTransactionRequest
());
Assert
.
assertEquals
(
Objects
.
nonNull
(
offerTransactionResponse
.
getTransactionId
()),
true
);
assertEquals
(
Objects
.
nonNull
(
offerTransactionResponse
.
getTransactionId
()),
true
);
}
private
PERequest
getPEReq
()
{
PERequest
peRequest
=
new
PERequest
();
peRequest
.
setHhId
(
"123"
);
List
<
Item
>
itemList
=
new
ArrayList
<>();
Item
item1
=
new
Item
(
"Coke"
,
"12"
,
6.05
);
Item
item2
=
new
Item
(
"Thumpsup"
,
"11"
,
12.32
);
itemList
.
add
(
item1
);
itemList
.
add
(
item2
);
peRequest
.
setItemList
(
itemList
);
return
peRequest
;
@Description
(
"Component test for endOfSale method"
)
@Test
void
endOfSale
()
throws
IOException
{
doNothing
().
when
(
endOfSaleRepo
.
save
(
Mockito
.
any
(
EndOfSaleEntity
.
class
)));
assertEquals
(
Objects
.
nonNull
(
offerTransactionController
.
endOfSale
(
buildEndOfSaleReq
())),
true
);
}
private
PEResponse
getPeResponse
()
{
PEResponse
peResponse
=
new
PEResponse
();
peResponse
.
setHhid
(
"123"
);
List
<
Item
>
itemList
=
new
ArrayList
<>();
Item
item1
=
new
Item
(
"Coke"
,
"12"
,
6.05
);
Item
item2
=
new
Item
(
"Thumpsup"
,
"11"
,
12.32
);
itemList
.
add
(
item1
);
itemList
.
add
(
item2
);
peResponse
.
setDiscountedItemList
(
itemList
);
return
peResponse
;
@Description
(
"Component test for endOfTransaction method"
)
@Test
void
endOfTransaction
()
{
when
(
clientService
.
getStringMono
(
Mockito
.
anyString
())).
thenReturn
(
getMonoOfString
());
assertEquals
(
Objects
.
nonNull
(
offerTransactionController
.
endOfTransaction
(
UU_ID_FOR_END_OF_TRANSACTION
)),
true
);
}
p
ublic
List
<
OfferLookup
>
return
Offers
()
{
p
rivate
List
<
OfferLookup
>
get
Offers
()
{
OfferLookup
offerLookup1
=
new
OfferLookup
(
1L
,
"12"
,
234L
,
"02"
,
"AND"
,
"BOGO"
);
OfferLookup
offerLookup2
=
new
OfferLookup
(
2
l
,
"13"
,
234L
,
"02"
,
"OR"
,
"BXGY"
);
List
<
OfferLookup
>
offerLookups
=
new
ArrayList
<>();
offerLookups
.
add
(
offerLookup1
);
offerLookups
.
add
(
offerLookup2
);
return
offerLookups
.
stream
().
collect
(
Collectors
.
toList
())
;
return
offerLookups
;
}
private
OfferTransactionRequest
getOfferTransactionRequest
()
{
OfferTransactionRequest
offerTransactionRequest
=
new
OfferTransactionRequest
();
offerTransactionRequest
.
setHhId
(
"123"
);
offerTransactionRequest
.
setItemList
(
getItemList
());
return
offerTransactionRequest
;
}
private
PEResponse
getPeResponse
()
{
PEResponse
peResponse
=
new
PEResponse
();
peResponse
.
setHhid
(
"123"
);
peResponse
.
setDiscountedItemList
(
getItemList
());
return
peResponse
;
}
private
EndOfSaleReq
buildEndOfSaleReq
()
{
OfferTransactionResponse
offerTransactionResponse
=
new
OfferTransactionResponse
(
HH_ID_FOR_END_OF_SALE
,
TRANSACTION_ID_FOR_END_OF_SALE
,
getItemList
());
EndOfSaleReq
endOfSaleReq
=
new
EndOfSaleReq
(
offerTransactionResponse
,
getOffers
());
return
endOfSaleReq
;
}
private
List
<
Item
>
getItemList
()
{
List
<
Item
>
itemList
=
new
ArrayList
<>();
Item
item1
=
new
Item
(
"Coke"
,
"12"
,
13.05
);
Item
item2
=
new
Item
(
"Thumpsup"
,
"11"
,
14.05
);
itemList
.
add
(
item1
);
itemList
.
add
(
item2
);
offerTransactionRequest
.
setItemList
(
itemList
);
return
offerTransactionRequest
;
return
itemList
;
}
}
private
Mono
<
String
>
getMonoOfString
()
{
return
Mono
.
just
(
"MONO_TO_STRING"
);
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment