Files
react-native-code-push/Examples/CodePushDemoApp/CodePushDemoAppTests/CheckForUpdateTests/testcases/FirstUpdateTest.js
2015-12-18 00:56:34 -08:00

48 lines
1.5 KiB
JavaScript

"use strict";
import React from "react-native";
import CodePush from "react-native-code-push";
let NativeCodePush = React.NativeModules.CodePush;
import createTestCaseComponent from "../../utils/createTestCaseComponent";
let PackageMixins = require("react-native-code-push/package-mixins.js")(NativeCodePush);
import assert from "assert";
import createMockAcquisitionSdk from "../../utils/mockAcquisitionSdk";
let 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
};
let localPackage = {};
let FirstUpdateTest = createTestCaseComponent(
"FirstUpdateTest",
"should return an update when called from freshly installed binary if the server has one",
() => {
let mockAcquisitionSdk = createMockAcquisitionSdk(serverPackage, localPackage);
let mockConfiguration = { appVersion : "1.5.0" };
CodePush.setUpTestDependencies(mockAcquisitionSdk, mockConfiguration, NativeCodePush);
CodePush.getCurrentPackage = () => {
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;