Package org.drools.guvnor.client.qa

Source Code of org.drools.guvnor.client.qa.BulkRunResultTest

/*
* Copyright 2011 JBoss Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.drools.guvnor.client.qa;

import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.*;

import org.drools.guvnor.client.rpc.BulkTestRunResult;
import org.drools.guvnor.client.rpc.ScenarioResultSummary;
import org.junit.Before;
import org.junit.Test;

public class BulkRunResultTest {

    private BulkRunResult     bulkRunResult;
    private BulkRunResultView mockView;

    @Before
    public void setUp() {
        mockView = mock( BulkRunResultView.class );

        bulkRunResult = new BulkRunResult( mockView );
    }

    @Test
    public void emptyScenarioTestSummary() throws Exception {
        BulkTestRunResult bulkTestRunResult = new BulkTestRunResult();
        bulkRunResult.setBulkTestRunResult( bulkTestRunResult );

        verifyBulkTestSucceeded();
        verify( mockView ).setFailuresOutOfExpectation( 0,
                                                        0 );
        verify( mockView ).setResultsPercent( 0 );
        verify( mockView ).setRulesCoveredPercent( 0 );
        verifyNoUncoveredRules();

        verify( mockView,
                never() ).addSummary( eq( new ScenarioResultSummary() ) );
    }

    @Test
    public void singleTestWithoutFailures() throws Exception {

        ScenarioResultSummary scenarioResultSummary = getScenarioResultSummary( 0,
                                                                                1 );
        ScenarioResultSummary[] scenarioResultSummaries = new ScenarioResultSummary[1];
        scenarioResultSummaries[0] = scenarioResultSummary;
        BulkTestRunResult bulkTestRunResult = getBulkRunResult( 100,
                                                                scenarioResultSummaries );

        bulkRunResult.setBulkTestRunResult( bulkTestRunResult );

        verifyBulkTestSucceeded();
        verify( mockView ).setFailuresOutOfExpectation( 0,
                                                        1 );
        verify( mockView ).setResultsPercent( 100 );
        verify( mockView ).setRulesCoveredPercent( 100 );
        verifyNoUncoveredRules();

        verifyThatResultSummaryWasAdded( scenarioResultSummary );
    }

    @Test
    public void singleTestWithAFailure() throws Exception {

        ScenarioResultSummary scenarioResultSummary = getScenarioResultSummary( 1,
                                                                                1 );
        ScenarioResultSummary[] scenarioResultSummaries = new ScenarioResultSummary[1];
        scenarioResultSummaries[0] = scenarioResultSummary;
        BulkTestRunResult bulkTestRunResult = getBulkRunResult( 100,
                                                                scenarioResultSummaries );

        bulkRunResult.setBulkTestRunResult( bulkTestRunResult );

        verifyBulkTestFailed();
        verify( mockView ).setFailuresOutOfExpectation( 1,
                                                        1 );
        verify( mockView ).setResultsPercent( 0 );
        verify( mockView ).setRulesCoveredPercent( 100 );
        verifyNoUncoveredRules();

        verifyThatResultSummaryWasAdded( scenarioResultSummary );
    }

    @Test
    public void threeTestsOneFailingTwoUncoveredRules() throws Exception {
        ScenarioResultSummary scenarioResultSummary1 = getScenarioResultSummary( 1,
                                                                                 2 );
        ScenarioResultSummary scenarioResultSummary2 = getScenarioResultSummary( 0,
                                                                                 1 );
        ScenarioResultSummary[] scenarioResultSummaries = new ScenarioResultSummary[2];
        scenarioResultSummaries[0] = scenarioResultSummary1;
        scenarioResultSummaries[1] = scenarioResultSummary2;
        BulkTestRunResult bulkTestRunResult = getBulkRunResult( 100,
                                                                scenarioResultSummaries );
        String[] uncoveredRules = new String[2];
        uncoveredRules[0] = "I'm not covered 1";
        uncoveredRules[1] = "I'm not covered 2";
        bulkTestRunResult.setRulesNotCovered( uncoveredRules );

        bulkRunResult.setBulkTestRunResult( bulkTestRunResult );

        verifyBulkTestFailed();
        verify( mockView ).setFailuresOutOfExpectation( 1,
                                                        3 );
        verify( mockView ).setResultsPercent( 66 );
        verify( mockView ).setRulesCoveredPercent( 100 );
        verify( mockView ).addUncoveredRules( "I'm not covered 1" );
        verify( mockView ).addUncoveredRules( "I'm not covered 2" );

        verifyThatResultSummaryWasAdded( scenarioResultSummary1,
                                         scenarioResultSummary2 );

    }

    private void verifyBulkTestSucceeded() {
        verify( mockView,
                never() ).setFailed();
        verify( mockView ).setSuccess();
    }

    private void verifyBulkTestFailed() {
        verify( mockView ).setFailed();
        verify( mockView,
                never() ).setSuccess();
    }

    private void verifyNoUncoveredRules() {
        verify( mockView,
                never() ).addUncoveredRules( anyString() );
    }

    private void verifyThatResultSummaryWasAdded(ScenarioResultSummary... scenarioResultSummaries) {
        for ( ScenarioResultSummary scenarioResultSummary : scenarioResultSummaries ) {
            verify( mockView ).addSummary( scenarioResultSummary );
        }
    }

    private ScenarioResultSummary getScenarioResultSummary(int failures,
                                                           int total) {
        ScenarioResultSummary scenarioResultSummary = new ScenarioResultSummary();
        scenarioResultSummary.setFailures( failures );
        scenarioResultSummary.setTotal( total );
        return scenarioResultSummary;
    }

    private BulkTestRunResult getBulkRunResult(int percentCovered,
                                               ScenarioResultSummary[] scenarioResultSummaries) {
        BulkTestRunResult bulkTestRunResult = new BulkTestRunResult();
        bulkTestRunResult.setPercentCovered( percentCovered );
        bulkTestRunResult.setResults( scenarioResultSummaries );
        return bulkTestRunResult;
    }

}
TOP

Related Classes of org.drools.guvnor.client.qa.BulkRunResultTest

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.