quickhelp-spec.js 2.22 KB
/*
 * Copyright 2015 Open Networking Laboratory
 *
 * 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.
 */

/*
 ONOS GUI -- Layer -- Flash Service - Unit Tests
 */
describe('factory: fw/layer/quickhelp.js', function () {
    var $log, fs, qhs, d3Elem;

    beforeEach(module('onosUtil', 'onosSvg', 'onosLayer'));

    beforeEach(inject(function (_$log_, FnService, QuickHelpService) {
        $log = _$log_;
        fs = FnService;
        qhs = QuickHelpService;
        jasmine.clock().install();
        d3Elem = d3.select('body').append('div').attr('id', 'myqhdiv');
    }));

    afterEach(function () {
        jasmine.clock().uninstall();
        d3.select('#myqhdiv').remove();
    });

    function helpItemSelection() {
        return d3Elem.selectAll('.help');
    }

    it('should define QuickHelpService', function () {
        expect(qhs).toBeDefined();
    });

    it('should define api functions', function () {
        expect(fs.areFunctions(qhs, [
            'initQuickHelp', 'showQuickHelp', 'hideQuickHelp'
        ])).toBeTruthy();
    });

    it('should have no items to start', function () {
        expect(helpItemSelection().size()).toBe(0);
    });

    // TODO: check that the help stuff appears
/*
    it('should show help items', function () {
        var item, rect, text;
        flash.flash('foo');
        //jasmine.clock().tick(101);
        setTimeout(function () {
            item = flashItemSelection();
            expect(item.size()).toEqual(1);
            expect(item.classed('flashItem')).toBeTruthy();
            expect(item.select('rect').size()).toEqual(1);
            text = item.select('text');
            expect(text.size()).toEqual(1);
            expect(text.text()).toEqual('foo');
        }, 100);
    });
*/
});