"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const graders_1 = require("../../src/redteam/graders");
const asciiSmuggling_1 = require("../../src/redteam/plugins/asciiSmuggling");
const beavertails_1 = require("../../src/redteam/plugins/beavertails");
const graders_2 = require("../../src/redteam/plugins/harmful/graders");
describe('getGraderById', () => {
    it('should return correct grader for valid ID', () => {
        const asciiGrader = (0, graders_1.getGraderById)('promptfoo:redteam:ascii-smuggling');
        expect(asciiGrader).toBeInstanceOf(asciiSmuggling_1.AsciiSmugglingGrader);
        const beavertailsGrader = (0, graders_1.getGraderById)('promptfoo:redteam:beavertails');
        expect(beavertailsGrader).toBeInstanceOf(beavertails_1.BeavertailsGrader);
        const harmfulGrader = (0, graders_1.getGraderById)('promptfoo:redteam:harmful');
        expect(harmfulGrader).toBeInstanceOf(graders_2.HarmfulGrader);
    });
    it('should return undefined for invalid ID', () => {
        const invalidGrader = (0, graders_1.getGraderById)('invalid-id');
        expect(invalidGrader).toBeUndefined();
    });
    it('should return undefined for empty ID', () => {
        const emptyGrader = (0, graders_1.getGraderById)('');
        expect(emptyGrader).toBeUndefined();
    });
});
//# sourceMappingURL=graders.test.js.map