/***********************************************************************************************************
 * Name         : CustomPathHelperTest
 * Purpose      : Test class for CustomPathHelper
 **********************************************************************************************************/

@isTest
public with sharing class CustomPathHelperTest {
    /************************************************************************************
     * Method: getData
     * APEX method tested : CustomPathHelper.getData
     * Description : Verifies that the current active value is being identified correctly
     *************************************************************************************/
    @isTest
    static void getData() {
        List<String> caStages = CA_Constants.OPPORTUNITY_STAGE_LIST;
        Integer ACTIVE_INDEX = 2;

        Test.startTest();
        List<CustomPathHelper.PathData> pathDataList = CustomPathHelper.getData(
            caStages[ACTIVE_INDEX],
            CA_Constants.OPP_RECORD_TYPE_CA
        );
        Test.stopTest();

        for (Integer i = 0; i < caStages.size(); i++) {
            Assert.areEqual(caStages[i], pathDataList[i].label);
            if (i < ACTIVE_INDEX) {
                Assert.areEqual(CustomPathHelper.COMPLETE_SLDS_PATH_ITEM_CLASS, pathDataList[i].classValue);
            } else if (i == ACTIVE_INDEX) {
                Assert.areEqual(CustomPathHelper.ACTIVE_SLDS_PATH_ITEM_CLASS, pathDataList[i].classValue);
            } else {
                Assert.areEqual(CustomPathHelper.INCOMPLETE_SLDS_PATH_ITEM_CLASS, pathDataList[i].classValue);
            }
        }
    }
}