"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;