 
             let resultCalled = expectationWithDescription("Failure block was called")
             let promise = initialPromise.result { result in
+                TestHelpers.expectFailure(expectedError, result: result)
                 resultCalled.fulfill()
-                TestHelpers.expectFailure(expectedError, result: result)
-            }
-
-            let completionCalled = expectationWithDescription("Completion was called")
-            promise.call { result in
-                completionCalled.fulfill()
-                TestHelpers.expectFailure(expectedError, result: result)
+            }
+
+            let completionCalled = expectationWithDescription("Completion was called")
+            promise.call { result in
+                TestHelpers.expectFailure(expectedError, result: result)
+                completionCalled.fulfill()
             }
 
             waitForExpectationsWithTimeout(1.0, handler: nil)


        let completionCalled = expectationWithDescription("Completion was called")
        promise.call { result in
            completionCalled.fulfill()
            TestHelpers.expectFailure(expectedError, result: result)
        }

        waitForExpectationsWithTimeout(1.0, handler: nil)
    }

    func testLift() {
        do {
            let expectedValue = "someValue"
            let promise = Promise.lift {


            let completionCalled = expectationWithDescription("Completion was called")
            promise.call { result in
                TestHelpers.expectFailure(expectedError, result: result)
                completionCalled.fulfill()
            }

            waitForExpectationsWithTimeout(1.0, handler: nil)
