Enterprise Java Development@TOPIC@
The end-to-end scenario will test your end-to-end application 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 and IT test cases.
Provide a JUnit integration test that verifies the eLeagueEAR can be deployed to the server, including successful deployment of the persistence unit and contained EJBs.
Provide a JUnit unit test that verifies successul marshaling and demarshaling of an eLeague DTO class using Java Serialization. You may create a DTO class specifically for this test if none of your DTOs are used in your RMI interface.
Provide a JUnit integration test that verifies a successful JNDI lookup and RMI communication with an eLeagueEJB.
Provide a JUnit unit test that verifies successul marshaling and demarshaling of an eLeague DTO class to/from XML or JSON.
Provide a JUnit integration test that verifies a successful HTTP communication with an eLeagueEJB.
Create a single JUnit integration test case (e.g., eSportEndToEndIT) with a single @Test method that walks the two applications through the following end-to-end scenario. You may create a separate IT test in eLeague while developing the eLeague portions but the final end-to-end scenario should be placed in eClub since eClub depends on eLeague.
Deploy the applications
Reset all eLeague tables (using the LeagueTestUtilEJB)
Populate the eLeague tables (using LeagueTestUtilEJB and the LeagueIngestor)
Reset all eClub tables (using the ClubTestUtilEJB)
Populate the eClub tables (using ClubTestUtilEJB) *if* anything necessary
Create a Club in eLeague (using the LeagueMgmtEJB). Assign the club representative to have the login of "user2"
Add Venue for Club in eLeague (using ClubMgmtEJB)
Create Parent in eClub (using MemberMgmtEJB). Assign this user login of "user3".
Create Player in eClub (using MemberMgmtEJB)
Add a Coach role in eClub (using MemberMgmtEJB)
Create a Team in eClub (using OrgMgmtEJB)
Assign Players to a Team in eClub (using OrgMgmtEJB)
Assign Coach to a Team in eClub (using OrgMgmtEJB)
Assign Manager to a Team in eClub (using OrgMgmtEJB)
Show team roster in eClub (using OrgMgmtEJB)
Add a Team for Club in eLeague (using ClubMgmtEJB)
Add a contact for a Team eLeague (using ClubMgmtEJB)
Assign a Team to an existing Division eLeague (using ClubMgmtEJB; division=U13-A, refid="Division-845")
Schedule a Season eLeague (using ContestMgmtEJB)
Project 3 placeholder
Project 3 placeholder
Show a Team Schedule in eClub (using OrgMgmtEJB)
Project 3 placeholder
Project 3 placeholder
Report a Score in eLeague (using ContestMgmtEJB)
Show Division Standings in eLeague (using LeagueMgmtEJB)
To be clear. The above scenario should be both automated with a single JUnit test. Any Web UI actions you implement can augment these actions but not replace them.