diff --git a/Examples/CodePushDemoApp/CodePushDemoAppTests/InstallUpdateTests.m b/Examples/CodePushDemoApp/CodePushDemoAppTests/InstallUpdateTests.m index ab84d42..db365a8 100644 --- a/Examples/CodePushDemoApp/CodePushDemoAppTests/InstallUpdateTests.m +++ b/Examples/CodePushDemoApp/CodePushDemoAppTests/InstallUpdateTests.m @@ -65,6 +65,11 @@ [self runTest:@"IsFailedUpdateTest"]; } +- (void)testIsPending +{ + [self runTest:@"IsPendingTest"]; +} + - (void)runTest:(NSString *)testName { [CodePush clearTestUpdates]; diff --git a/Examples/CodePushDemoApp/CodePushDemoAppTests/InstallUpdateTests/testcases/IsPendingTest.js b/Examples/CodePushDemoApp/CodePushDemoAppTests/InstallUpdateTests/testcases/IsPendingTest.js new file mode 100644 index 0000000..d9cac23 --- /dev/null +++ b/Examples/CodePushDemoApp/CodePushDemoAppTests/InstallUpdateTests/testcases/IsPendingTest.js @@ -0,0 +1,46 @@ +"use strict"; + +import React from "react-native"; +let { DeviceEventEmitter, Platform, AppRegistry } = require("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"; + +let remotePackage = { + description: "Angry flappy birds", + appVersion: "1.5.0", + label: "2.4.0", + isMandatory: false, + isAvailable: true, + updateAppVersion: false, + packageHash: "hash240", + packageSize: 1024 +}; + +let IsPendingTest = createTestCaseComponent( + "IsPendingTest", + "After the app is installed, the isPending property on the installed package should be set to \"true\"", + () => { + if (Platform.OS === "android") { + remotePackage.downloadUrl = "http://10.0.3.2:8081/CodePushDemoAppTests/InstallUpdateTests/resources/CheckIsFirstRunAndPassTest.includeRequire.runModule.bundle?platform=android&dev=true" + } else if (Platform.OS === "ios") { + remotePackage.downloadUrl = "http://localhost:8081/CodePushDemoAppTests/InstallUpdateTests/resources/CheckIsFirstRunAndPassTest.includeRequire.runModule.bundle?platform=ios&dev=true" + } + + remotePackage = Object.assign(remotePackage, PackageMixins.remote); + return Promise.resolve(); + }, + () => { + remotePackage.download() + .then((localPackage) => { + return localPackage.install(NativeCodePush.codePushInstallModeOnNextRestart); + }) + .then((localPackage) => { + assert(localPackage.isPending, "isPending should be set to \"true\" after an install"); + }); + } +); + +AppRegistry.registerComponent("IsPendingTest", () => IsPendingTest); \ No newline at end of file diff --git a/Examples/CodePushDemoApp/CodePushDemoAppTests/utils/createTestCaseComponent.js b/Examples/CodePushDemoApp/CodePushDemoAppTests/utils/createTestCaseComponent.js index 03f79e2..7a83b78 100644 --- a/Examples/CodePushDemoApp/CodePushDemoAppTests/utils/createTestCaseComponent.js +++ b/Examples/CodePushDemoApp/CodePushDemoAppTests/utils/createTestCaseComponent.js @@ -40,7 +40,7 @@ function createTestCaseComponent(displayName, description, setUp, runTest, passA return ( - {this.state.done ? "Done" : "Testing..."} + {this.state.done ? "Test Passed!" : "Testing..."} );