1 import Quick
2 import Nimble
3 
4 @testable import EXDevLauncher
5 
6 class EXDevLauncherControllerTest: QuickSpec {
specnull7   override func spec() {
8     it("should return correct version") {
9       let version = EXDevLauncherController.version()
10 
11       expect(version).toNot(beNil())
12     }
13 
14     it("sharedInstance should always return the same instance") {
15       let sharedInstance = EXDevLauncherController.sharedInstance()
16 
17       expect(sharedInstance).toNot(beNil())
18       expect(sharedInstance).to(be(EXDevLauncherController.sharedInstance()))
19     }
20 
21     it("extraModulesForBridge should return essential modules") {
22       let module = EXDevLauncherController.sharedInstance()
23 
24       let modules = module.extraModules(for: nil)!
25 
26       expect(modules.first { $0 is RCTDevMenu }).toNot(beNil())
27       expect(modules.first { type(of: $0).moduleName() == "DevLoadingView" }).toNot(beNil())
28     }
29 
30     it("controller should have access to managers classes") {
31       let module = EXDevLauncherController.sharedInstance()
32 
33       expect(module.errorManager()).toNot(beNil())
34       expect(module.pendingDeepLinkRegistry).toNot(beNil())
35     }
36   }
37 }
38