blob: 3a5d035a5e23bbeeef561607af7e453c68a6f40e [file] [log] [blame]
Matteo Scandolo686547a2017-08-08 13:05:25 -07001
2/*
3 * Copyright 2017-present Open Networking Foundation
4
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8
9 * http://www.apache.org/licenses/LICENSE-2.0
10
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18
Matteo Scandoloa5d03d52016-07-21 11:35:46 -070019(function () {
20 'use strict';
21 describe('The xos.helper module', function(){
22 let SetCSRFToken, httpProviderObj, httpBackend, http, cookies;
23
24 const fakeToken = 'aiuhsnds98234ndASd';
25
26 beforeEach(function() {
27 module(
28 'xos.helpers',
29 function ($httpProvider) {
30 //save our interceptor
31 httpProviderObj = $httpProvider;
32 }
33 );
34
35 inject(function (_SetCSRFToken_, _$httpBackend_, _$http_, _$cookies_) {
36 SetCSRFToken = _SetCSRFToken_;
37 httpBackend = _$httpBackend_;
38 http = _$http_;
39 cookies = _$cookies_
40
41 // mocking $cookie service
42 spyOn(cookies, 'get').and.returnValue(fakeToken);
43 });
44
45 });
46
47 describe('the SetCSRFToken', () => {
48 it('should exist', () => {
49 expect(SetCSRFToken).toBeDefined();
50 });
51
52 it('should attach token the request', (done) => {
53 httpBackend.when('POST', 'http://example.com', null, function(headers) {
54 expect(headers['X-CSRFToken']).toBe(fakeToken);
55 done();
56 return headers;
57 }).respond(200, {name: 'example' });
58
59 http.post('http://example.com');
60
61 httpBackend.flush();
62 });
63 });
64
65 it('should set SetCSRFToken interceptor', () => {
66 expect(httpProviderObj).toBeDefined();
67 expect(httpProviderObj.interceptors).toContain('SetCSRFToken');
68 });
69
70 });
71})();