kubernetes/www/master/components/dashboard/test/controllers/header.spec.js
Hector Virgen 1a784cd489 Adds Karma to TravisCI
- Updates travis to run karma
- Adds some actual tests

Sample build success: https://travis-ci.org/djvirgen/kubernetes/jobs/61567253

Note: My branch is currently up to date with master but all the Go stuff is failing in Travis. Not sure why Go is failing, but the Karma stuff is running OK. I've also verified that when a Jasmine test fails, Travis will fail the build (see [this build](https://travis-ci.org/djvirgen/kubernetes/jobs/61567666) here).
2015-05-11 21:54:04 -07:00

68 lines
2.0 KiB
JavaScript

'use strict';
describe('header controller', function() {
beforeEach(module('kubernetesApp.components.dashboard'));
beforeEach(inject(function($rootScope, $location, $controller) {
this.rootScope = $rootScope;
this.scope = $rootScope.$new();
this.location = $location;
spyOn(this.location, 'path');
this.controller = $controller;
this.ctrl = this.controller('HeaderCtrl', {
$scope: this.scope
});
this.scope.$apply();
}));
describe('subPages', function() {
it('is defined', function() {
expect(this.scope.subPages).not.toBeUndefined();
});
it('is an array', function() {
expect(Array.isArray(this.scope.subPages)).toBeTruthy();
});
it('is not empty', function() {
expect(this.scope.subPages.length).toBeGreaterThan(0);
});
describe('each subPage', function() {
it('has a category', function() {
this.scope.subPages.forEach(function(subPage) {
expect(subPage.category).toBeTruthy();
});
});
it('has a name', function() {
this.scope.subPages.forEach(function(subPage) {
expect(subPage.name).toBeTruthy();
});
});
it('has a value', function() {
this.scope.subPages.forEach(function(subPage) {
expect(subPage.value).toBeTruthy();
});
});
});
});
describe('Pages', function() {
it('does not change location on first detected change', function() {
expect(this.location.path).not.toHaveBeenCalled();
});
it('changes location on second detected change', function() {
var _this = this;
this.scope.$apply(function() {
_this.scope.Pages = 'test_Pages';
});
expect(this.location.path).toHaveBeenCalledWith('test_Pages');
});
});
});