tests updated

This commit is contained in:
Madhas 2018-05-16 15:52:40 +03:00
parent 98ef4ca86e
commit b181344f28
1 changed files with 66 additions and 15 deletions

View File

@ -46,20 +46,19 @@ final class NetworkServiceTests: XCTestCase {
func testModelRequest() {
// given
let expectedModel = Post(userId: 1,
postId: 1,
title: "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
body: "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto")
let expectedModel = Album(userId: 1,
albumId: 1,
title: "quidem molestiae enim")
var receivedModel: Post?
var receivedModel: Album?
var error: Error?
let requestCompletedExpectation = expectation(description: "Request completed")
let apiRequest = ApiRequestParameters(url: "https://jsonplaceholder.typicode.com/posts/1",
let apiRequest = ApiRequestParameters(url: "https://jsonplaceholder.typicode.com/albums/1",
headers: ["Content-Type": "application/json"])
// when
networkService.rxRequest(with: apiRequest)
.subscribe(onNext: { (_, model: Post) in
.subscribe(onNext: { (_, model: Album) in
receivedModel = model
requestCompletedExpectation.fulfill()
}, onError: {
@ -75,23 +74,49 @@ final class NetworkServiceTests: XCTestCase {
XCTAssertNotNil(receivedModel)
XCTAssertEqual(receivedModel, expectedModel)
}
func testModelArrayRequest() {
// given
var response: [Album]?
var error: Error?
let requestCompletedExpectation = expectation(description: "Request completed")
let apiRequest = ApiRequestParameters(url: "https://jsonplaceholder.typicode.com/albums",
headers: ["Content-Type": "application/json"])
//when
networkService.rxRequest(with: apiRequest)
.subscribe(onNext: { ( _, model: [Album]) in
response = model
requestCompletedExpectation.fulfill()
}, onError: {
error = $0
requestCompletedExpectation.fulfill()
})
.disposed(by: disposeBag)
waitForExpectations(timeout: 20, handler: nil)
// then
XCTAssertNil(error)
XCTAssertNotNil(response)
XCTAssert(response?.count == 100)
}
func testObservableModelRequest() {
// given
let expectedModel = ObservableMappablePost(userId: 1,
postId: 1,
title: "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
body: "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto")
let expectedModel = Album(userId: 1,
albumId: 1,
title: "quidem molestiae enim")
var receivedModel: ObservableMappablePost?
var receivedModel: Album?
var error: Error?
let requestCompletedExpectation = expectation(description: "Request completed")
let apiRequest = ApiRequestParameters(url: "https://jsonplaceholder.typicode.com/posts/1",
let apiRequest = ApiRequestParameters(url: "https://jsonplaceholder.typicode.com/albums/1",
headers: ["Content-Type": "application/json"])
// when
networkService.rxRequest(with: apiRequest)
.subscribe(onNext: { (_, model: ObservableMappablePost) in
.subscribe(onNext: { (_, model: Album) in
receivedModel = model
requestCompletedExpectation.fulfill()
}, onError: {
@ -107,5 +132,31 @@ final class NetworkServiceTests: XCTestCase {
XCTAssertNotNil(receivedModel)
XCTAssertEqual(receivedModel, expectedModel)
}
func testObservableModelArrayRequest() {
// given
var receivedModel: AlbumContainer?
var error: Error?
let requestCompletedExpectation = expectation(description: "Request completed")
let apiRequest = ApiRequestParameters(url: "https://jsonplaceholder.typicode.com/albums",
headers: ["Content-Type": "application/json"])
// when
networkService.rxRequest(with: apiRequest)
.subscribe(onNext: { (_, model: AlbumContainer) in
receivedModel = model
requestCompletedExpectation.fulfill()
}, onError: {
error = $0
requestCompletedExpectation.fulfill()
})
.disposed(by: disposeBag)
waitForExpectations(timeout: 20, handler: nil)
//then
XCTAssertNil(error)
XCTAssertNotNil(receivedModel)
XCTAssert(receivedModel?.albums.count == 100)
}
}