Files
react-native-code-push/Examples/CodePushDemoApp/CodePushDemoAppTests/CheckForUpdateTests/testcases/FirstUpdateTest.js
Geoffrey Goh bc52e8f0c5 add tests
2015-12-18 00:08:11 -08:00

48 lines
1.6 KiB
JavaScript

"use strict";
var React = require("react-native");
var CodePush = require("react-native-code-push");
var NativeCodePush = React.NativeModules.CodePush;
var createTestCaseComponent = require("../../utils/createTestCaseComponent");
var PackageMixins = require("react-native-code-push/package-mixins.js")(NativeCodePush);
var assert = require("assert");
var createMockAcquisitionSdk = require("../../utils/mockAcquisitionSdk");
var serverPackage = {
appVersion: "1.5.0",
description: "Angry flappy birds",
downloadUrl: "http://www.windowsazure.com/blobs/awperoiuqpweru",
isAvailable: true,
isMandatory: false,
packageHash: "hash240",
packageSize: 1024,
updateAppVersion: false
};
var localPackage = {};
var FirstUpdateTest = createTestCaseComponent(
"FirstUpdateTest",
"should return an update when called from freshly installed binary if the server has one",
() => {
var mockAcquisitionSdk = createMockAcquisitionSdk(serverPackage, localPackage);
var mockConfiguration = { appVersion : "1.5.0" };
CodePush.setUpTestDependencies(mockAcquisitionSdk, mockConfiguration, NativeCodePush);
CodePush.getCurrentPackage = function () {
return Promise.resolve(localPackage);
}
return Promise.resolve();
},
() => {
return CodePush.checkForUpdate()
.then((update) => {
if (update) {
assert.deepEqual(update, Object.assign(serverPackage, PackageMixins.remote));
} else {
throw new Error("checkForUpdate did not return the update from the server");
}
});
}
);
module.exports = FirstUpdateTest;