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  EXAppLoader *appLoader = [[EXAppLoader 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