 
 // MARK: - Test Cases
 
-class CloudKitOperationTests<Target where Target: NSOperation, Target: CKOperationType>: OperationTests {
-
-    var target: Target!
+class CloudKitOperationTests: OperationTests {
+
     var reachability: TestableSystemReachability!
-    var operation: CloudKitOperation<Target>!
 
     override func setUp() {
         super.setUp()
         reachability = TestableSystemReachability()
-        target = Target()
-        operation = CloudKitOperation(operation: target, reachability: reachability)
-    }
-}
-
-class CloudOperationTests: CloudKitOperationTests<TestCloudOperation> {
+        reachability.status = .Reachable(.ViaWiFi)
+    }
+}
+
+class CloudOperationTests: CloudKitOperationTests {
+
+    var target: TestCloudOperation!
+    var operation: CloudKitOperation<TestCloudOperation>!
+
+    override func setUp() {
+        super.setUp()
+        target = TestCloudOperation()
+        operation = CloudKitOperation(operation: target, reachability: reachability)
+    }
 
     func test__get_countainer() {
         let container = "I'm a test container!"

    }
}

class ModifyRecordsOperationTests: CloudKitOperationTests<TestModifyRecordsOperation> {

    func test__get_records_to_save() {
        let records = [ "a-record", "another-record" ]

    }
}

class DiscoverUserInfosOperationTests: CloudKitOperationTests {

    var target: TestDiscoverUserInfosOperation!
    var operation: CloudKitOperation<TestDiscoverUserInfosOperation>!

    override func setUp() {
        super.setUp()
        target = TestDiscoverUserInfosOperation(userInfosByEmailAddress: [:], userInfoByRecordID: [:])
        operation = CloudKitOperation(operation: target, reachability: reachability)
    }

    func test__get_email_addresses() {
        target.emailAddresses = [ "hello@world.com" ]
