Skip to content

Commit

Permalink
Add unit test for status code 201
Browse files Browse the repository at this point in the history
Thanks @barbelith for bringing this up.
  • Loading branch information
hpique committed Jan 1, 2016
1 parent b22fadf commit f174017
Showing 1 changed file with 31 additions and 21 deletions.
52 changes: 31 additions & 21 deletions HanekeTests/HNKNetworkFetcherTests.m
Expand Up @@ -58,29 +58,14 @@ - (void)testKey
XCTAssertEqualObjects(_sut.key, _URL.absoluteString, @"");
}

- (void)testFetchImage_Success
- (void)testFetchImage_Success_StatusCode200
{
UIImage *image = [UIImage hnk_imageWithColor:[UIColor whiteColor] size:CGSizeMake(5, 5)];
[OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) {
return [request.URL.absoluteString isEqualToString:_URL.absoluteString];
} withStubResponse:^OHHTTPStubsResponse*(NSURLRequest *request) {
NSData *data = UIImagePNGRepresentation(image);
return [OHHTTPStubsResponse responseWithData:data statusCode:200 headers:nil];
}];

_sut = [[HNKNetworkFetcher alloc] initWithURL:_URL];

XCTestExpectation *expectation = [self expectationWithDescription:self.name];

[_sut fetchImageWithSuccess:^(UIImage *resultImage) {
XCTAssertTrue([resultImage hnk_isEqualToImage:image], @"");
[expectation fulfill];
} failure:^(NSError *error) {
XCTFail(@"Expected to succeed");

}];
[self _testFetchImage_Success_StatusCode:200];
}

[self waitForExpectationsWithTimeout:1 handler:nil];
- (void)testFetchImage_Success_StatusCode201
{
[self _testFetchImage_Success_StatusCode:201];
}

- (void)testFetchImage_Failure_InvalidStatusCode_401
Expand Down Expand Up @@ -216,6 +201,31 @@ - (void)testURLSession

#pragma mark Helpers

- (void)_testFetchImage_Success_StatusCode:(int)statusCode
{
UIImage *image = [UIImage hnk_imageWithColor:[UIColor whiteColor] size:CGSizeMake(5, 5)];
[OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) {
return [request.URL.absoluteString isEqualToString:_URL.absoluteString];
} withStubResponse:^OHHTTPStubsResponse*(NSURLRequest *request) {
NSData *data = UIImagePNGRepresentation(image);
return [OHHTTPStubsResponse responseWithData:data statusCode:statusCode headers:nil];
}];

_sut = [[HNKNetworkFetcher alloc] initWithURL:_URL];

XCTestExpectation *expectation = [self expectationWithDescription:self.name];

[_sut fetchImageWithSuccess:^(UIImage *resultImage) {
XCTAssertTrue([resultImage hnk_isEqualToImage:image], @"");
[expectation fulfill];
} failure:^(NSError *error) {
XCTFail(@"Expected to succeed");

}];

[self waitForExpectationsWithTimeout:1 handler:nil];
}

- (void)_testFetchImage_Failure_InvalidStatusCode:(int)statusCode
{
[OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) {
Expand Down

0 comments on commit f174017

Please sign in to comment.