Commit 6a27c7c2 by Dima Bart

Adjusts tests for aggregate complete checkout and shipping rate APIs.

parent 86047b7a
...@@ -184,19 +184,6 @@ NSString * const BUYFakeCustomerToken = @"dsfasdgafdg"; ...@@ -184,19 +184,6 @@ NSString * const BUYFakeCustomerToken = @"dsfasdgafdg";
XCTAssertEqual(BUYStatusComplete, status); XCTAssertEqual(BUYStatusComplete, status);
} }
- (void)testCheckoutWithApplePayToken
{
id<BUYPaymentToken> token = [[BUYApplePayToken alloc] initWithPaymentToken:[BUYApplePayTestToken validToken]];
XCTAssertThrows(
[self.client completeCheckout:[BUYCheckout new] paymentToken:token completion:^(BUYCheckout *checkout, NSError *error) {}]
);
BUYCheckout *checkout = [[BUYCheckout alloc] initWithModelManager:self.client.modelManager JSONDictionary:@{@"token": @"abcdef", @"payment_due": @0}];
XCTAssertNoThrow(
[self.client completeCheckout:checkout paymentToken:nil completion:^(BUYCheckout *checkout, NSError *error) {}]
);
}
- (void)testQueryItemsConversion - (void)testQueryItemsConversion
{ {
NSDictionary *dictionary = @{@"collection_id" : @"1", @"limit" : @"25", @"page" : @"1", @"sort_by" : @"collection-default"}; NSDictionary *dictionary = @{@"collection_id" : @"1", @"limit" : @"25", @"page" : @"1", @"sort_by" : @"collection-default"};
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#import "BUYTestConstants.h" #import "BUYTestConstants.h"
#import "BUYCheckout.h" #import "BUYCheckout.h"
#import "BUYClientTestBase.h" #import "BUYClientTestBase.h"
#import "BUYClient+Routing.h"
#import <OHHTTPStubs/OHHTTPStubs.h> #import <OHHTTPStubs/OHHTTPStubs.h>
#import "OHHTTPStubsResponse+Helpers.h" #import "OHHTTPStubsResponse+Helpers.h"
...@@ -167,33 +168,20 @@ ...@@ -167,33 +168,20 @@
} withStubResponse:^OHHTTPStubsResponse * _Nonnull(NSURLRequest * _Nonnull request) { } withStubResponse:^OHHTTPStubsResponse * _Nonnull(NSURLRequest * _Nonnull request) {
return [OHHTTPStubsResponse responseWithKey:@"testCheckoutFlowUsingCreditCard_2"]; return [OHHTTPStubsResponse responseWithKey:@"testCheckoutFlowUsingCreditCard_2"];
}]; }];
__block BUYStatus shippingStatus = BUYStatusUnknown;
do { XCTestExpectation *expectation = [self expectationWithDescription:NSStringFromSelector(_cmd)];
NSLog(@"Fetching shipping rates..."); [self.client getShippingRatesForCheckout:_checkout completion:^(NSArray *shippingRates, BUYStatus status, NSError *error) {
XCTestExpectation *expectation = [self expectationWithDescription:NSStringFromSelector(_cmd)]; XCTAssertNil(error);
XCTAssertEqual(status, BUYStatusComplete);
[self.client getShippingRatesForCheckout:_checkout completion:^(NSArray *returnedShippingRates, BUYStatus status, NSError *error) {
XCTAssertNil(error);
shippingStatus = status;
if (shippingStatus == BUYStatusComplete) {
XCTAssertNotNil(returnedShippingRates);
_shippingRates = returnedShippingRates;
}
[expectation fulfill];
}];
[self waitForExpectationsWithTimeout:10 handler:^(NSError *error) { XCTAssertNotNil(shippingRates);
XCTAssertNil(error); XCTAssertTrue([shippingRates count] > 0);
}];
if (shippingStatus == BUYStatusProcessing) { _shippingRates = shippingRates;
[NSThread sleepForTimeInterval:0.5f]; [expectation fulfill];
} }];
} while (shippingStatus == BUYStatusProcessing);
XCTAssertTrue([_shippingRates count] > 0); [self waitForExpectationsWithTimeout:10.0 handler:nil];
XCTAssertEqual(shippingStatus, BUYStatusComplete);
} }
- (void)updateCheckout - (void)updateCheckout
...@@ -265,7 +253,17 @@ ...@@ -265,7 +253,17 @@
[OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest * _Nonnull request) { [OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest * _Nonnull request) {
return [self shouldUseMocks]; return [self shouldUseMocks];
} withStubResponse:^OHHTTPStubsResponse * _Nonnull(NSURLRequest * _Nonnull request) { } withStubResponse:^OHHTTPStubsResponse * _Nonnull(NSURLRequest * _Nonnull request) {
return [OHHTTPStubsResponse responseWithKey:@"testCheckoutFlowUsingCreditCard_5"]; NSString *path = request.URL.absoluteString.lastPathComponent;
if ([path isEqualToString:[self.client urlForCheckoutsCompletionWithToken:_checkout.token].lastPathComponent]) {
return [OHHTTPStubsResponse responseWithKey:@"testCheckoutFlowUsingCreditCard_5"];
} else if ([path isEqualToString:[self.client urlForCheckoutsProcessingWithToken:_checkout.token].lastPathComponent]) {
return [OHHTTPStubsResponse responseWithKey:@"testCheckoutFlowUsingCreditCard_14"];
} else if ([path isEqualToString:[self.client urlForCheckoutsWithToken:_checkout.token].lastPathComponent]) {
return [OHHTTPStubsResponse responseWithKey:@"testCheckoutFlowUsingCreditCard_15"];
}
return [OHHTTPStubsResponse responseWithData:[NSData new] statusCode:500 headers:nil];;
}]; }];
XCTestExpectation *expectation = [self expectationWithDescription:NSStringFromSelector(_cmd)]; XCTestExpectation *expectation = [self expectationWithDescription:NSStringFromSelector(_cmd)];
...@@ -283,7 +281,7 @@ ...@@ -283,7 +281,7 @@
[self confirmCreditCard]; [self confirmCreditCard];
}]; }];
[self waitForExpectationsWithTimeout:10 handler:^(NSError *error) { [self waitForExpectationsWithTimeout:10000 handler:^(NSError *error) {
XCTAssertNil(error); XCTAssertNil(error);
}]; }];
} }
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#import "BUYClient+Checkout.h" #import "BUYClient+Checkout.h"
#import "BUYClient+Internal.h" #import "BUYClient+Internal.h"
#import "BUYClient+Routing.h" #import "BUYClient+Routing.h"
#import "BUYRequestOperation.h"
#import "BUYCheckoutOperation.h" #import "BUYCheckoutOperation.h"
#import "BUYAddress.h" #import "BUYAddress.h"
#import "BUYCheckout.h" #import "BUYCheckout.h"
...@@ -226,7 +227,7 @@ ...@@ -226,7 +227,7 @@
@"checkout" : @"", @"checkout" : @"",
}]; }];
return [self getRequestForURL:route completionHandler:^(NSDictionary *json, NSURLResponse *response, NSError *error) { BUYRequestOperation *operation = [self getRequestForURL:route start:NO completionHandler:^(NSDictionary *json, NSURLResponse *response, NSError *error) {
NSArray *shippingRates = nil; NSArray *shippingRates = nil;
if (json && !error) { if (json && !error) {
shippingRates = [self.modelManager insertShippingRatesWithJSONArray:json[@"shipping_rates"]]; shippingRates = [self.modelManager insertShippingRatesWithJSONArray:json[@"shipping_rates"]];
...@@ -235,6 +236,13 @@ ...@@ -235,6 +236,13 @@
NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode]; NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode];
block(shippingRates, [self statusForStatusCode:statusCode error:error], error); block(shippingRates, [self statusForStatusCode:statusCode error:error], error);
}]; }];
operation.pollingHandler = ^BOOL(NSDictionary *json, NSHTTPURLResponse *response, NSError *error) {
return response.statusCode == BUYStatusProcessing;
};
[self startOperation:operation];
return operation;
} }
#pragma mark - Payments - #pragma mark - Payments -
......
...@@ -133,12 +133,10 @@ ...@@ -133,12 +133,10 @@
[weakSelf locked:^{ [weakSelf locked:^{
weakSelf.currentOperation = getOperation; weakSelf.currentOperation = getOperation;
}]; }];
NSLog(@"Getting completed checkout.");
[weakSelf.client startOperation:getOperation]; [weakSelf.client startOperation:getOperation];
}]; }];
pollOperation.pollingHandler = ^BOOL (NSDictionary *json, NSHTTPURLResponse *response, NSError *error) { pollOperation.pollingHandler = ^BOOL (NSDictionary *json, NSHTTPURLResponse *response, NSError *error) {
NSLog(@"Polling checkout...");
return response.statusCode == BUYStatusProcessing; return response.statusCode == BUYStatusProcessing;
}; };
...@@ -146,7 +144,6 @@ ...@@ -146,7 +144,6 @@
[weakSelf locked:^{ [weakSelf locked:^{
weakSelf.currentOperation = pollOperation; weakSelf.currentOperation = pollOperation;
}]; }];
NSLog(@"Starting checkout status polling.");
[weakSelf.client startOperation:pollOperation]; [weakSelf.client startOperation:pollOperation];
}]; }];
...@@ -154,7 +151,6 @@ ...@@ -154,7 +151,6 @@
[self locked:^{ [self locked:^{
self.currentOperation = beginOperation; self.currentOperation = beginOperation;
}]; }];
NSLog(@"Starting checkout.");
[self.client startOperation:beginOperation]; [self.client startOperation:beginOperation];
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment