Skip to content

Commit

Permalink
Remove unneeded whitespace
Browse files Browse the repository at this point in the history
  • Loading branch information
Eli Perkins committed Oct 29, 2015
1 parent db51305 commit b966d48
Show file tree
Hide file tree
Showing 3 changed files with 149 additions and 149 deletions.
116 changes: 58 additions & 58 deletions VENCoreUnitTests/Models/Transactions/VENCreateTransactionRequestSpec.m
Expand Up @@ -20,45 +20,45 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
SpecBegin(VENCreateTransactionRequest)

describe(@"Sending Payments With Stubbed Responses", ^{

__block NSDictionary *emailPaymentObject;
__block NSDictionary *userPaymentObject;
__block id mockVENHTTP;
__block VENCore *core;

void(^stubSuccessBlockEmail)(NSInvocation *) = ^(NSInvocation *invocation) {
void(^successBlock)(VENHTTPResponse *);
[invocation getArgument:&successBlock atIndex:4];

VENHTTPResponse *response = [[VENHTTPResponse alloc] initWithStatusCode:200 responseObject:@{@"data":@{@"payment":emailPaymentObject}}];
successBlock(response);
};

void(^stubSuccessBlockPhone)(NSInvocation *) = ^(NSInvocation *invocation) {
void(^successBlock)(VENHTTPResponse *);
[invocation getArgument:&successBlock atIndex:4];

VENHTTPResponse *response = [[VENHTTPResponse alloc] initWithStatusCode:200 responseObject:@{@"data":@{@"payment":userPaymentObject}}];
successBlock(response);
};

void(^stubFailureBlock)(NSInvocation *) = ^(NSInvocation *invocation) {
void(^failureBlock)(VENHTTPResponse *, NSError *);
[invocation getArgument:&failureBlock atIndex:5];

VENHTTPResponse *response = [[VENHTTPResponse alloc] initWithStatusCode:400 responseObject:nil];
id mockError = [OCMockObject mockForClass:[NSError class]];
failureBlock(response, mockError);
};

NSDictionary *(^expectedParameters)(VENCreateTransactionRequest *transactionService, VENTransactionTarget *target) =
^(VENCreateTransactionRequest *transactionService, VENTransactionTarget *target) {
NSMutableDictionary *expectedParams = [[transactionService dictionaryWithParametersForTarget:target] mutableCopy];
NSDictionary *accessTokenParams = @{@"access_token" : core.accessToken};
[expectedParams addEntriesFromDictionary:accessTokenParams];
return expectedParams;
};

beforeEach(^{
NSDictionary *emailPaymentResponse = [VENTestUtilities objectFromJSONResource:@"paymentToEmail"];
emailPaymentObject = emailPaymentResponse[@"data"][@"payment"];
Expand All @@ -69,22 +69,22 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
core.httpClient = mockVENHTTP;
[core setAccessToken:@"123"];
[VENCore setDefaultCore:core];

});

describe(@"sending a transaction with one target", ^{
it(@"should POST to the payments endpoint and call the success block when the POST succeeds", ^{
VENCreateTransactionRequest *transactionService = [[VENCreateTransactionRequest alloc] init];
VENTransactionTarget *target = [[VENTransactionTarget alloc] initWithHandle:@"peter@venmo.com" amount:30];
[transactionService addTransactionTarget:target];
transactionService.note = @"hi";

NSDictionary *expectedParams = expectedParameters(transactionService, target);
[[[mockVENHTTP expect] andDo:stubSuccessBlockEmail] POST:@"payments"
parameters:expectedParams
success:OCMOCK_ANY
failure:OCMOCK_ANY];

waitUntil(^(DoneCallback done) {
[transactionService sendWithSuccess:^(NSArray *sentTransactions, VENHTTPResponse *response) {
expect([sentTransactions count]).to.equal(1);
Expand All @@ -95,19 +95,19 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
}];
});
});

it(@"should POST to the payments endpoint and call the failure block when the POST fails", ^{
VENCreateTransactionRequest *transactionService = [[VENCreateTransactionRequest alloc] init];
VENTransactionTarget *target = [[VENTransactionTarget alloc] initWithHandle:@"peter@venmo.com" amount:30];
[transactionService addTransactionTarget:target];
transactionService.note = @"hi";

NSDictionary *expectedParams = expectedParameters(transactionService, target);
[[[mockVENHTTP expect] andDo:stubFailureBlock] POST:@"payments"
parameters:expectedParams
success:OCMOCK_ANY
failure:OCMOCK_ANY];

waitUntil(^(DoneCallback done) {
[transactionService sendWithSuccess:^(NSArray *sentTransactions, VENHTTPResponse *response) {
failure(@"Failed to return correct response.");
Expand All @@ -121,21 +121,21 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
});
});
});

describe(@"sending a transaction with two targets", ^{
it(@"should POST twice to the payments endpoint and call the success block twice when both transactions succeed", ^{
VENCreateTransactionRequest *transactionService = [[VENCreateTransactionRequest alloc] init];
transactionService.note = @"hi";

VENTransactionTarget *target1 = [[VENTransactionTarget alloc] initWithHandle:@"peter@venmo.com" amount:30];
[transactionService addTransactionTarget:target1];

VENTransactionTarget *target2 = [[VENTransactionTarget alloc] initWithHandle:@"ben@venmo.com" amount:420];
[transactionService addTransactionTarget:target2];

NSDictionary *expectedParameters1 = expectedParameters(transactionService, target1);
NSDictionary *expectedParameters2 = expectedParameters(transactionService, target2);

[[[mockVENHTTP expect] andDo:stubSuccessBlockEmail] POST:@"payments"
parameters:expectedParameters1
success:OCMOCK_ANY
Expand All @@ -144,7 +144,7 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
parameters:expectedParameters2
success:OCMOCK_ANY
failure:OCMOCK_ANY];

waitUntil(^(DoneCallback done) {
[transactionService sendWithSuccess:^(NSArray *sentTransactions, VENHTTPResponse *response) {
expect([sentTransactions count]).to.equal(2);
Expand All @@ -155,30 +155,30 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
}];
});
});

it(@"should call successBlock for successful payment and failureBlock for second payment which fails", ^{
VENCreateTransactionRequest *transactionService = [[VENCreateTransactionRequest alloc] init];
transactionService.note = @"hi";

VENTransactionTarget *target1 = [[VENTransactionTarget alloc] initWithHandle:@"peter@venmo.com" amount:30];
[transactionService addTransactionTarget:target1];

VENTransactionTarget *target2 = [[VENTransactionTarget alloc] initWithHandle:@"ben@venmo.com" amount:420];
[transactionService addTransactionTarget:target2];

NSDictionary *expectedParameters1 = expectedParameters(transactionService, target1);
NSDictionary *expectedParameters2 = expectedParameters(transactionService, target2);

[[[mockVENHTTP expect] andDo:stubSuccessBlockEmail] POST:@"payments"
parameters:expectedParameters1
success:OCMOCK_ANY
failure:OCMOCK_ANY];

[[[mockVENHTTP expect] andDo:stubFailureBlock] POST:@"payments"
parameters:expectedParameters2
success:OCMOCK_ANY
failure:OCMOCK_ANY];

waitUntil(^(DoneCallback done) {
[transactionService sendWithSuccess:^(NSArray *sentTransactions, VENHTTPResponse *response) {
failure(@"Failed to return correct response.");
Expand All @@ -190,25 +190,25 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
}];
});
});

it(@"should not initiate second payment if the first payment fails", ^{

VENCreateTransactionRequest *transactionService = [[VENCreateTransactionRequest alloc] init];
transactionService.note = @"hi";

VENTransactionTarget *target1 = [[VENTransactionTarget alloc] initWithHandle:@"peter@venmo.com" amount:30];
[transactionService addTransactionTarget:target1];
NSDictionary *expectedParameters1 = expectedParameters(transactionService, target1);

//payment to target 2 should not be sent since the first payment fails
VENTransactionTarget *target2 = [[VENTransactionTarget alloc] initWithHandle:@"das@venmo.com" amount:125];
[transactionService addTransactionTarget:target2];

[[[mockVENHTTP expect] andDo:stubFailureBlock] POST:@"payments"
parameters:expectedParameters1
success:OCMOCK_ANY
failure:OCMOCK_ANY];

waitUntil(^(DoneCallback done) {
[transactionService sendWithSuccess:^(NSArray *sentTransactions, VENHTTPResponse *response) {
failure(@"Failed to return correct response.");
Expand Down Expand Up @@ -237,7 +237,7 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
expect(addedTarget).to.beTruthy();
expect([transactionService.targets count]).to.equal(1);
});

it(@"it should not add a invalid target", ^{
id mockTarget = [OCMockObject niceMockForClass:[VENTransactionTarget class]];
[[[mockTarget stub] andReturnValue:@(NO)] isValid];
Expand All @@ -246,13 +246,13 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
expect(addedTarget).to.beFalsy();
expect([transactionService.targets count]).to.equal(0);
});

it(@"it should not add duplicate targets", ^{
id mockTarget = [OCMockObject niceMockForClass:[VENTransactionTarget class]];
VENCreateTransactionRequest *transactionService = [[VENCreateTransactionRequest alloc] init];
id mockTransaction = [OCMockObject partialMockForObject:transactionService];
[[[mockTransaction stub] andReturnValue:@(YES)] containsDuplicateOfTarget:OCMOCK_ANY];

BOOL addedTarget = [mockTransaction addTransactionTarget:mockTarget];
expect(addedTarget).to.beFalsy();
expect(((VENCreateTransactionRequest *)mockTransaction).targets.count).to.equal(0);
Expand All @@ -271,14 +271,14 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
((VENCreateTransactionRequest *)mockTransaction).transactionType = VENTransactionTypePay;
expect([((VENCreateTransactionRequest *)mockTransaction) readyToSend]).to.equal(YES);
});

it(@"should return NO if there are 0 targets", ^{
VENCreateTransactionRequest *transactionService = [[VENCreateTransactionRequest alloc] init];
transactionService.note = @"Here is 10 Bucks";
transactionService.transactionType = VENTransactionTypePay;
expect([transactionService readyToSend]).to.equal(NO);
});

it(@"should return NO if transaction has no note", ^{
id object = [NSObject new];
NSOrderedSet *orderedSet = [[NSOrderedSet alloc] initWithObject:object];
Expand All @@ -288,7 +288,7 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
((VENCreateTransactionRequest *)mockTransaction).transactionType = VENTransactionTypePay;
expect([((VENCreateTransactionRequest *)mockTransaction) readyToSend]).to.equal(NO);
});

it(@"should return NO if transactionType has not been set", ^{
id object = [NSObject new];
NSOrderedSet *orderedSet = [[NSOrderedSet alloc] initWithObject:object];
Expand All @@ -298,7 +298,7 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
((VENCreateTransactionRequest *)mockTransaction).note = @"Here is 10 Bucks";
expect([((VENCreateTransactionRequest *)mockTransaction) readyToSend]).to.equal(NO);
});

});


Expand All @@ -319,9 +319,9 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
@"audience" : @"friends"};
NSDictionary *postParameters = [transactionService dictionaryWithParametersForTarget:target];
expect(postParameters).to.equal(expectedPostParameters);

});

it(@"should create a parameters dictionary for negative amounts", ^{
NSString *emailAddress = @"dasmer@venmo.com";
NSString *note = @"I want your two bucks";
Expand All @@ -338,10 +338,10 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
@"audience" : @"private"};
NSDictionary *postParameters = [transactionService dictionaryWithParametersForTarget:target];
expect(postParameters).to.equal(expectedPostParameters);

});


it(@"should return nil if target type is unknown", ^{
NSString *emailAddress = @"dasmer";
NSString *note = @"I want your two bucks";
Expand All @@ -359,8 +359,8 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
expect(target.targetType).equal(VENTargetTypeUnknown);
expect(postParameters).to.beNil();
});


it(@"should not include audience if audience is set to UserDefault", ^{
NSString *emailAddress = @"btest@example.com";
NSString *note = @"bla";
Expand All @@ -377,42 +377,42 @@ - (BOOL)containsDuplicateOfTarget:(VENTransactionTarget *)target;
NSDictionary *postParameters = [transactionService dictionaryWithParametersForTarget:target];
expect(postParameters).to.equal(expectedPostParameters);
});


});

describe(@"containsDuplicateOfTarget", ^{
it(@"should return YES if the transaction already has a target with the same handle", ^{
NSString *handle = @"handle";
id mockTarget1 = [OCMockObject mockForClass:[VENTransactionTarget class]];
[[[mockTarget1 stub] andReturn:handle] handle];

id mockTarget2 = [OCMockObject mockForClass:[VENTransactionTarget class]];
[[[mockTarget2 stub] andReturn:@"bla"] handle];

VENCreateTransactionRequest *transactionService = [[VENCreateTransactionRequest alloc] init];
id mockTransaction = [OCMockObject partialMockForObject:transactionService];
NSMutableOrderedSet *targetSet = [[NSMutableOrderedSet alloc] initWithArray:@[mockTarget2, mockTarget1]];
[[[mockTransaction stub] andReturn:targetSet] targets];

id mockTargetParameter = [OCMockObject mockForClass:[VENTransactionTarget class]];
[[[mockTargetParameter stub] andReturn:handle] handle];
BOOL containsDuplicate = [mockTransaction containsDuplicateOfTarget:mockTargetParameter];
expect(containsDuplicate).to.beTruthy();
});

it(@"should return NO if the transaction doesn't have any targets with the same handle", ^{
id mockTarget1 = [OCMockObject mockForClass:[VENTransactionTarget class]];
[[[mockTarget1 stub] andReturn:@"foo"] handle];

id mockTarget2 = [OCMockObject mockForClass:[VENTransactionTarget class]];
[[[mockTarget2 stub] andReturn:@"bar"] handle];

VENCreateTransactionRequest *transactionService = [[VENCreateTransactionRequest alloc] init];
id mockTransaction = [OCMockObject partialMockForObject:transactionService];
NSMutableOrderedSet *targetSet = [[NSMutableOrderedSet alloc] initWithArray:@[mockTarget2, mockTarget1]];
[[[mockTransaction stub] andReturn:targetSet] targets];

id mockTargetParameter = [OCMockObject mockForClass:[VENTransactionTarget class]];
[[[mockTargetParameter stub] andReturn:@"baz"] handle];
BOOL containsDuplicate = [mockTransaction containsDuplicateOfTarget:mockTargetParameter];
Expand Down

0 comments on commit b966d48

Please sign in to comment.