import {PageConfigTypes} from "../../../custom-types/pageConfig-types";
import {CustomExpect} from "../../common-helpers/custom-expect";
import {browser, $, $$, expect} from '@wdio/globals'

export default async function (pageConfig: PageConfigTypes, falseCase: boolean, expectedClassName: string) {
    const className = await $(pageConfig.selector).getProperty('className');

    if (typeof className === 'undefined' || className === null) {
        throw new Error(`Element with "${pageConfig.pageId}.${pageConfig.elementKey}" didn't have a class name`);
    }

    if (falseCase) {
        CustomExpect.expectNotToContain(className, expectedClassName, `Element "${pageConfig.pageId}.${pageConfig.elementKey}" contains class name "${expectedClassName}"`)
    } else {
        CustomExpect.expectToContain(className, expectedClassName, `Element "${pageConfig.pageId}.${pageConfig.elementKey}" does not contain class name "${expectedClassName}"`)
    }
};
