1 2#import <XCTest/XCTest.h> 3#import "EXAppFetcherCacheOnly.h" 4#import "EXAppLoader+Tests.h" 5#import "EXProdServiceTestCase.h" 6 7@interface EXAppLoaderConfigurationTestsProdService : EXProdServiceTestCase 8 9@end 10 11@implementation EXAppLoaderConfigurationTestsProdService 12 13- (void)setUp 14{ 15 [super setUp]; 16} 17 18- (void)testIsOnErrorRecoveryRespectedInShellApp 19{ 20 NSDictionary *manifest = @{ 21 @"updates": @{ 22 @"checkAutomatically": @"ON_ERROR_RECOVERY" 23 }, 24 @"bundleUrl": @"https://classic-assets.eascdn.net/%40esamelson%2Ftest-fetch-update%2F1.0.0%2Fddf3e9977eedb14313d242302df6cf70-27.0.0-ios.js", // value doesn't matter 25 }; 26 EXAbstractLoader *appLoader = [[EXAbstractLoader alloc] initWithManifestUrl:[NSURL URLWithString:@"exp://exp.host/@esamelson/test-fetch-update"]]; 27 [appLoader _fetchBundleWithManifest:manifest]; 28 XCTAssert([appLoader.appFetcher isKindOfClass:[EXAppFetcherCacheOnly class]], @"AppLoader should choose to use AppFetcherCacheOnly in a shell app with ON_ERROR_RECOVERY"); 29} 30 31@end 32