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).
This commit is contained in:
Hector Virgen
2015-04-27 22:32:36 -07:00
parent e73fa8b8b0
commit 1a784cd489
5 changed files with 83 additions and 1 deletions

View File

@@ -0,0 +1,67 @@
'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');
});
});
});