Package com.agilebooster.data.jpa

Source Code of com.agilebooster.data.jpa.SprintControllerTest

/*
* (C) Copyright 2014 Agile Booster.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     Maxime ESCOURBIAC
*/
package com.agilebooster.data.jpa;

import com.agilebooster.data.entity.Project;
import com.agilebooster.data.entity.Release;
import com.agilebooster.data.entity.Sprint;
import com.agilebooster.data.entity.User;
import java.util.Date;
import org.junit.After;
import org.junit.AfterClass;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import org.junit.BeforeClass;
import org.junit.Test;

/**
* Test class for SprintController.
*
* @author Maxime ESCOURBIAC
*/
public class SprintControllerTest {

    private static User scrumMaster;
    private static User productOwner;
    private static Project project;
    private static Release release;
    private static UserController userController;
    private static ProjectController projectController;
    private static ReleaseController releaseController;

    /**
     * Default constructor.
     */
    public SprintControllerTest() {
    }

    /**
     * Init the test environment.
     */
    @BeforeClass
    public static void initContext() {
        userController = new UserController();
        scrumMaster = new User("ScrumMaster@agilebooster.fr", "Forename", "Last Name", "password", true);
        scrumMaster = userController.create(scrumMaster);
        productOwner = new User("ProductOwner@agilebooster.fr", "Forename", "Last Name", "password", true);
        productOwner = userController.create(productOwner);

        projectController = new ProjectController();
        Date date = new Date();
        project = new Project("Test Sprint ", "TST", "Project Sprint test.", date, "http://www.testSprint.com", "http://www.Sprint.git", scrumMaster, productOwner);
        project = projectController.create(project);

        releaseController = new ReleaseController();
        release = new Release("Release Test Sprint", date, date, true, project);
        release = releaseController.create(release);
    }

    /**
     * Destroy the test environment.
     */
    @AfterClass
    public static void destroyContext() {
        releaseController.destroy(release);
        projectController.destroy(project);
        userController.destroy(scrumMaster);
        userController.destroy(productOwner);
    }

    /**
     * Clean the users after each test.
     */
    @After
    public void cleanUsers() {
        project = projectController.refresh(project);
        release = releaseController.refresh(release);
        scrumMaster = userController.refresh(scrumMaster);
        productOwner = userController.refresh(productOwner);
    }

    /**
     * Test of create method, of class SprintController.
     */
    @Test
    public void testCreate() {
        System.out.println("SprintController:Create");
        SprintController sprintController = new SprintController();
        Date creationDate = new Date();
        Date stopDate = new Date();
        Sprint sprint = new Sprint("Test Create Sprint", creationDate, stopDate, true, release);
        Sprint sprintResult = sprintController.create(sprint);

        //Check Sprint properties.
        assertNotNull(sprintResult.getId());
        assertEquals(sprint.getName(), sprintResult.getName());
        assertEquals(sprint.getStartDate(), sprintResult.getStartDate());
        assertEquals(sprint.getStopDate(), sprintResult.getStopDate());
        assertEquals(sprint.isActive(), sprintResult.isActive());
        assertEquals(sprint.getRelease(), sprintResult.getRelease());

        //Check release properties.
        release = releaseController.refresh(release);
        assertTrue(release.getSprints().contains(sprintResult));

        sprintController.destroy(sprint);
    }

    /**
     * Test of destroy method, of class SprintController.
     */
    @Test
    public void testDestroy() {
        System.out.println("SprintController:Destroy");
        SprintController sprintController = new SprintController();
        Date creationDate = new Date();
        Date stopDate = new Date();
        Sprint sprint = sprintController.create(new Sprint("Test Destroy Sprint", creationDate, stopDate, true, release));
        assertTrue(sprintController.destroy(sprint));
    }
}
TOP

Related Classes of com.agilebooster.data.jpa.SprintControllerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.