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

58 lines
1.8 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 = {
downloadURL: "http://www.windowsazure.com/blobs/awperoiuqpweru",
description: "Angry flappy birds",
appVersion: "1.5.0",
label: "2.4.0",
isMandatory: false,
isAvailable: true,
updateAppVersion: false,
packageHash: "hash123",
packageSize: 1024
};
var NewUpdateTest = createTestCaseComponent(
"NewUpdateTest",
"should return an update when server has a package that is newer than the current 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 = NewUpdateTest;