This repository has been archived by the owner on Dec 19, 2017. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 74
/
Copy pathapplication-test.js
81 lines (70 loc) · 3.17 KB
/
application-test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*
* Copyright (c) 2014 Adobe Systems Incorporated. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
*/
/* global module, asyncTest, start, expect, equal */
define(function (require) {
"use strict";
var fluxxorTestHelper = require("../util/fluxxor-test-helper"),
spacesMockHelper = require("../util/spaces-mock-helper"),
events = require("js/events");
module("actions/application", {
setup: function () {
fluxxorTestHelper.setup.call(this);
spacesMockHelper.setup.call(this);
},
teardown: function () {
spacesMockHelper.teardown.call(this);
}
});
asyncTest("Test application host version action", function () {
expect(3);
// Determines whether the mock get method should respond to this request.
var referenceTest = function (reference) {
return reference._ref[0]._property === "hostVersion" &&
reference._ref[1]._ref === "application" &&
reference._ref[1]._enum === "ordinal" &&
reference._ref[1]._value === "targetEnum";
};
// If the request passes the test above, this will be the mock response.
// Note that the response can either be an {err: ?object, result: object=}
// value OR a function that returns such a value if the response depends
// on the exact request
var response = {
err: null,
result: {
"versionFix": 0,
"versionMajor": 16,
"versionMinor": 0
}
};
// Add the get-test/response pair to the test mock
this.mockGet(referenceTest, response);
// Bind the test store to the given event below; use the handler for verification
this.bindTestAction(events.application.HOST_VERSION, function (payload) {
equal(payload.versionMajor, 16, "versionMajor is 16");
equal(payload.versionMinor, 0, "versionMinor is 0");
equal(payload.versionFix, 0, "versionFix is 0");
start();
});
this.flux.actions.application.hostVersion();
});
});