mirror of
https://github.com/zhigang1992/react-native-code-push.git
synced 2026-06-10 23:59:42 +08:00
48 lines
1.6 KiB
JavaScript
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; |