Enterprise Java Development@TOPIC@
The end-to-end scenario will test your business logic, DAO, and BOs in a "happy path" scenario. Any white-box or black-box testing of alternate and error paths would be appropriate to put in the separate unit tests.
Provide a JUnit test for your business objects (BOs) that test the manipulation of the data. An example test might be to try adding a bid to a closed auction. These tests should be packaged with the BOs. There should be a separate project and test for both eSales and eBidbot. It is anticipated that these tests will be a minimal demonstration of understanding.
Provide a JUnit test for your eSales and eBidbot JPA DAOs. This should test the implementation for the required CRUD operations for each type of object. It is understood that some of the operations will be handled by cascades, so you might not have a set of methods handling each type of business object. This test should be packaged with the DAOs.
Provide a JUnit test for your business logic to test the basic functionality of your business logic design, including ingest. The ingestor test should be able to reference a known data file and ingest records into the database using the DAOs. These tests should be packaged with the business logic implementation.
Provide a set of JUnit test programs to verify the following end-to-end scenario in eSales. This test should be implemented as a JUnit test and packaged with the business logic implementation.
reset (using SalesTestUtilImpl) -- reset the esales database to an initial starting state.
ingest data (using Ingestor) -- ingest the full XML test data file.
createAccount for seller, buyer1, and buyer2 (using AccountMgmtImpl)
createAuction for seller (using SellerMgmtImpl)
getUserAuctions for seller (using SellerMgmtImpl)
getAuction using SellerMgmtImpl) -- i.e., for a specific auction.
getOpenAuctions (using BuyerMgmtImpl) -- i.e., page through open auctions.
placeBid for buyer1 (using BuyerMgmtImpl)
placeBid for buyer2 (using BuyerMgmtImpl)
getAuction (using BuyerMgmtImpl) -- i.e., showing auction has bids associated.
closeAuction (using AuctionMgmtImpl) -- i.e., winner declared and no more bids should be accepted.
Provide a set of JUnit test programs to verify the following end-to-end scenario in eBidbot. This test should be implemented as a JUnit test and packaged with the business logic implementation.
reset (using BidbotTestUtilImpl) -- reset the bidbot database to an initial starting state.
place order (using OrderMgmtImpl) -- i.e., create a record within bidbot that indicates the sale and maximum bid. This may require some stubbing in project 1.
place bid (using OrderMgmtImpl) -- i.e., place a bid that is higher than the current bid for an open auction but less than the order maximum. This will require some stubbing for project1.
end order (using OrderMgmtImpl) -- i.e., complete order processing once auction has closed and note if won. This will require some stubbing in project1.
get order status (using OrderMgmtImpl) -- i.e., did user win or not.