Package com.vst.service

Source Code of com.vst.service.ParameterManagerTest

package com.vst.service;

import java.util.List;
import java.util.ArrayList;

import com.vst.service.BaseManagerTestCase;
import com.vst.dao.ParameterDao;
import com.vst.model.Parameter;
import com.vst.service.impl.ParameterManagerImpl;

import org.jmock.Mock;
import org.springframework.orm.ObjectRetrievalFailureException;

public class ParameterManagerTest extends BaseManagerTestCase {
    private final String parameterId = "1";
    private ParameterManagerImpl parameterManager = new ParameterManagerImpl();
    private Mock parameterDao = null;

    protected void setUp() throws Exception {
        super.setUp();
        parameterDao = new Mock(ParameterDao.class);
        parameterManager.setParameterDao((ParameterDao) parameterDao.proxy());
    }

    protected void tearDown() throws Exception {
        super.tearDown();
        parameterManager = null;
    }

    public void testGetParameters() throws Exception {
        List results = new ArrayList();
        Parameter parameter = new Parameter();
        results.add(parameter);

        // set expected behavior on dao
        parameterDao.expects(once()).method("getParameters")
            .will(returnValue(results));

        List parameters = parameterManager.getParameters(null);
        assertTrue(parameters.size() == 1);
        parameterDao.verify();
    }

    public void testGetParameter() throws Exception {
        // set expected behavior on dao
        parameterDao.expects(once()).method("getParameter")
            .will(returnValue(new Parameter()));
        Parameter parameter = parameterManager.getParameter(parameterId);
        assertTrue(parameter != null);
        parameterDao.verify();
    }

    public void testSaveParameter() throws Exception {
        Parameter parameter = new Parameter();

        // set expected behavior on dao
        parameterDao.expects(once()).method("saveParameter")
            .with(same(parameter)).isVoid();

        parameterManager.saveParameter(parameter);
        parameterDao.verify();
    }

    public void testAddAndRemoveParameter() throws Exception {
        Parameter parameter = new Parameter();

        // set required fields

        // set expected behavior on dao
        parameterDao.expects(once()).method("saveParameter")
            .with(same(parameter)).isVoid();
        parameterManager.saveParameter(parameter);
        parameterDao.verify();

        // reset expectations
        parameterDao.reset();

        parameterDao.expects(once()).method("removeParameter").with(eq(new Long(parameterId)));
        parameterManager.removeParameter(parameterId);
        parameterDao.verify();

        // reset expectations
        parameterDao.reset();
        // remove
        Exception ex = new ObjectRetrievalFailureException(Parameter.class, parameter.getParameterId());
        parameterDao.expects(once()).method("removeParameter").isVoid();
        parameterDao.expects(once()).method("getParameter").will(throwException(ex));
        parameterManager.removeParameter(parameterId);
        try {
            parameterManager.getParameter(parameterId);
            fail("Parameter with identifier '" + parameterId + "' found in database");
        } catch (ObjectRetrievalFailureException e) {
            assertNotNull(e.getMessage());
        }
        parameterDao.verify();
    }
}
TOP

Related Classes of com.vst.service.ParameterManagerTest

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.