package scrum.server.project; import ilarkesto.base.Str; import ilarkesto.base.Utl; import ilarkesto.base.time.Date; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; import scrum.TestUtil; import scrum.server.issues.Issue; import scrum.server.sprint.Sprint; public class HomepageUpdaterTest { Project project; @BeforeSuite public void initglobal() { TestUtil.initialize(); } @BeforeClass public void createProject() { project = TestUtil.createProject(TestUtil.getDuke()); } @Test public void updateHomepage() { Sprint sprint = TestUtil.createSprint(project, Date.inDays(15)); project.setCurrentSprint(sprint); sprint.setLabel(Str.generateRandomSentence(2, 4)); sprint.setGoal(Str.generateRandomParagraph()); for (int i = 1; i <= 5; i++) { Requirement story = TestUtil.createRequirement(project, i); story.setSprint(sprint); story.setEstimatedWorkAsString(Utl.randomElement(scrum.client.project.Requirement.WORK_ESTIMATION_VALUES)); story.setDirty(false); for (int j = 1; j <= 5; j++) { TestUtil.createTask(story, j, 16); } } for (int i = 6; i <= 20; i++) { TestUtil.createRequirement(project, i); } TestUtil.createWikipage(project, "InstallDoc"); TestUtil.createWikipage(project, "IncludedLibraries"); for (int i = 0; i < 5; i++) { TestUtil.createBlogEntry(project, i).setPublished(true); } for (int i = 1; i <= 5; i++) { Issue issue = TestUtil.createIssue(project, i); issue.setAcceptDate(Date.today()); issue.setUrgent(true); if (i == 1) TestUtil.createComments(issue, 2); } for (int i = 6; i <= 10; i++) { Issue issue = TestUtil.createIssue(project, i); issue.setAcceptDate(Date.today()); } for (int i = 11; i <= 15; i++) { Issue issue = TestUtil.createIssue(project, i); } sprint.burndownTasksRandomly(sprint.getBegin(), Date.today().addDays(-1)); new HomepageUpdater(project, "src/projectHomepage/velocity", "test-output/homepage").processAll(); } @AfterClass public void cleanup() { if (project != null) TestUtil.getApp().getProjectDao().deleteEntity(project); } }