Kaynağa Gözat

Add restoreCompletedTransactionsFailed unit test

Andrea Bizzotto 8 yıl önce
ebeveyn
işleme
f2e371bf75

+ 25 - 0
SwiftyStoreKitTests/RestorePurchasesControllerTests.swift

@@ -114,6 +114,31 @@ class RestorePurchasesControllerTests: XCTestCase {
         
         XCTAssertEqual(spy.finishTransactionCalledCount, 2)
     }
+    
+    func testRestoreCompletedTransactionsFailed_callsCallbackWithError() {
+
+        var callbackCalled = false
+        let restorePurchases = RestorePurchases(atomically: true) { results in
+            callbackCalled = true
+
+            XCTAssertEqual(results.count, 1)
+            let first = results.first!
+            if case .failed(_) = first {
+                
+            }
+            else {
+                XCTFail("expected failed callback with error")
+            }
+        }
+        
+        let restorePurchasesController = makeRestorePurchasesController(restorePurchases: restorePurchases)
+
+        let error = NSError(domain: "SwiftyStoreKit", code: 0, userInfo: nil)
+        
+        restorePurchasesController.restoreCompletedTransactionsFailed(withError: error)
+
+        XCTAssertTrue(callbackCalled)
+    }
 
     
     func makeRestorePurchasesController(restorePurchases: RestorePurchases?) -> RestorePurchasesController {