Viewing File: /usr/local/cpanel/base/frontend/jupiter/site-monitor/models/enum-helper.spec.js

/*
# site-monitor/models/enum-helper.spec.js                Copyright 2021 cPanel, L.L.C.
#                                                                 All rights reserved.
# copyright@cpanel.net                                              http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
*/

/* global define: false, describe: false, it: false, beforeEach: false, expect: false */


define([
    "app/models/enum-helper"
],
function(EnumHelper) {
    "use strict";

    describe("fromString", function() {
        var MuppetsEnum = {
            kermit: 'frog',
            piggy: 'pig',
            fozzie: 'bear',
            yolanda: 'rat',
            sam: 'eagle',
            gonzo: 'unknown'
        };

        it("should be constructed property", function() {
            expect(EnumHelper.fromString(MuppetsEnum, 'frog')).toBe('kermit');
            expect(EnumHelper.fromString(MuppetsEnum, 'pig')).toBe('piggy');
            expect(EnumHelper.fromString(MuppetsEnum, 'bear')).toBe('fozzie');
            expect(EnumHelper.fromString(MuppetsEnum, 'unknown')).toBe('gonzo');
        });

        it("should throw with missing or invalid parameters", function() {
            expect(function() { EnumHelper.fromString() }).toThrow();
            expect(function() { EnumHelper.fromString(MuppetsEnum) }).toThrow();
            expect(function() { EnumHelper.fromString(MuppetsEnum, true)}).toThrow();
        });

        it("should throw when value is not present", function() {
            expect(function() { EnumHelper.fromString(MuppetsEnum, 'animal') }).toThrow();
        });
    });
});
Back to Directory File Manager