I have a lot of tests that all roughly follow the same pattern:
- SeamTest initializes the embedded container
- set up a faces-request
- get an instance of a properly prepared seam component
- run some tests&assertions
e.g:
@Test
public void testCombinedQuery() throws Exception{
new FacesRequest() {
QueryManager queryManager;
@Override
protected void updateModelValues()
{
queryManager = (QueryManager)getInstance("queryManager");
}
@Override
protected void renderResponse()
{
Query query = new Query();
query.setDays("'DAY1', 'DAY2'");
query.setTopics("'1','3'");
int resultSize = queryManager.getNrOfQuestionsInQuery(query);
assertEquals("Combined-Query did not return the correct Number of Questions", resultSize, COMBINEDQUERY_QUESTIONS);
}
}.run();
}