Skip to content

Commit 4d95fcc

Browse files
committed
Adds unit testing for angular providers + services
1 parent 64a03e5 commit 4d95fcc

File tree

6 files changed

+59
-3
lines changed

6 files changed

+59
-3
lines changed

karma-dist-concatenated.conf.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module.exports = function(config) {
2424
'bower/angular/angular.js',
2525
'bower/angular-mocks/angular-mocks.js',
2626
'dist/angular-zendesk-widget.js',
27-
'test/unit/**/*.js'
27+
'test/integration/**/*Spec.js'
2828
],
2929

3030

karma-dist-minified.conf.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module.exports = function(config) {
2424
'bower/angular/angular.js',
2525
'bower/angular-mocks/angular-mocks.js',
2626
'dist/angular-zendesk-widget.min.js',
27-
'test/unit/**/*.js'
27+
'test/integration/**/*Spec.js'
2828
],
2929

3030

karma-src.conf.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,13 @@ module.exports = function(config) {
2525
'bower/angular-mocks/angular-mocks.js',
2626
'src/**/*.module.js',
2727
'src/**/*.js',
28-
'test/unit/**/*.js'
28+
'test/unit/**/*Spec.js'
2929
],
3030

3131

3232
// list of files to exclude
3333
exclude: [
34+
'src/**/*.run.js'
3435
],
3536

3637

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
describe('ZendeskWidgetProvider', function() {
2+
'use strict';
3+
4+
var subject, mockService, $window;
5+
6+
beforeEach(module('zendeskWidget'));
7+
beforeEach(inject(function(_$window_, _ZendeskWidget_) {
8+
subject = _ZendeskWidget_;
9+
$window = _$window_;
10+
}));
11+
12+
describe('a set of API methods', function() {
13+
beforeEach(function() {
14+
var apiMethods = ['setLocale', 'identify', 'hide', 'show', 'activate'];
15+
mockService = jasmine.createSpyObj('MockZendeskWebWidgetAPI', apiMethods);
16+
$window.zE = mockService;
17+
});
18+
19+
it("delegates to Zendesk's Web Widget API", function() {
20+
var anyArgs = ['foo', 'bar', 'baz'];
21+
22+
subject.identify(anyArgs);
23+
subject.hide(anyArgs);
24+
subject.show(anyArgs);
25+
subject.activate(anyArgs);
26+
subject.setLocale(anyArgs);
27+
28+
expect(mockService.identify).toHaveBeenCalledWith(anyArgs);
29+
expect(mockService.hide).toHaveBeenCalledWith(anyArgs);
30+
expect(mockService.show).toHaveBeenCalledWith(anyArgs);
31+
expect(mockService.activate).toHaveBeenCalledWith(anyArgs);
32+
expect(mockService.setLocale).toHaveBeenCalledWith(anyArgs);
33+
});
34+
});
35+
})
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
describe('zendeskWidgetSettings', function() {
2+
'use strict';
3+
4+
var subject;
5+
6+
beforeEach(module('zendeskWidget'));
7+
beforeEach(inject(function(_zendeskWidgetSettings_) {
8+
subject = _zendeskWidgetSettings_;
9+
}));
10+
11+
describe('by default', function() {
12+
it('has a blank `accountUrl`', function() {
13+
expect(subject['accountUrl']).toEqual('');
14+
});
15+
16+
it('does a no-op on `beforePageLoad`', function() {
17+
expect(subject['beforePageLoad']).toEqual(angular.noop);
18+
});
19+
});
20+
})

0 commit comments

Comments
 (0)