blob: 929840d94c83d1e28d0b4f69c553c8233309d5e1 [file] [log] [blame]
Matteo Scandolod2044a42017-08-07 16:08:28 -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 Scandoloef969922016-08-11 13:49:12 -070019'use strict';
20
21describe('The ResponseHandler service', () => {
22
23 var ResponseHandler, done;
24
25 beforeEach(module('xos.UITutorial'));
26 beforeEach(module('templates'));
27
28 beforeEach(inject(function (_ResponseHandler_) {
29 // The injector unwraps the underscores (_) from around the parameter names when matching
30 ResponseHandler = _ResponseHandler_;
31 done = jasmine.createSpy('done');
32 }));
33
34 describe('the parse method', () => {
35 it('should return an html template for a collection', () => {
36 const collection = [
37 {id: 1, deleted: true, name: 'one'},
38 {id: 2, deleted: true, name: 'two'}
39 ];
40
41 const collectionHtml = `
42 <div>
43 <p>Corresponding js code: <code>jsCode</code></p>
44 <div class="json"><div class="jsonCollection">[<div class="jsonObject">{"id":1,"name":"one"},</code></div><div class="jsonObject">{"id":2,"name":"two"}</code></div>]</div></div>
45 </div>
46 `;
47 ResponseHandler.parse(collection, 'jsCode', done);
48 expect(done).toHaveBeenCalledWith(collectionHtml)
49 });
50
51 it('should return an html template for an object', () => {
52 const object = {id: 1, deleted: true, name: 'one'};
53
54 const objectHtml = `
55 <div>
56 <p>Corresponding js code: <code></code></p>
57 <div class="json"><div class="jsonObject">{"id":1,"name":"one"}</code></div></div>
58 </div>
59 `;
60 ResponseHandler.parse(object, '', done);
61 expect(done).toHaveBeenCalledWith(objectHtml)
62 });
63 });
64});