vadymmarkov / Malibu

:surfer: Malibu is a networking library built on promises
https://vadymmarkov.github.io
Other
414 stars 39 forks source link

Feature: mocked requests #13

Closed vadymmarkov closed 8 years ago

vadymmarkov commented 8 years ago

@zenangst @RamonGilabert @onmyway133

1) Register network with name + default networking instance:

let networking = Networking(baseURLString: "http://hyper.no/api")
Malibu.register("hyper", networking: networking)

networkingNamed("hyper") // => registered instance
networkingNamed("random") // => backfootSurfer default networking instance 

2) Request mocks. You can easily mock your request for testing.

struct TestRequest: Requestable {
  var message = Message(resource: "http://hyper.no")
}

let request = TestRequest()
let response = NSHTTPURLResponse(URL: NSURL(string: "http://hyper.no")!,
        statusCode: 200, HTTPVersion: "HTTP/2.0", headerFields: nil)!
let data = "test".dataUsingEncoding(NSUTF32StringEncoding)
let mock = Mock(request: request, response: response, data: data, error: nil)

// Register your mock
Malibu.registerMock(mock, on: .GET)

// Enable fake mode
Malibu.mode = .Fake

// Make request
Malibu.GET(request)
   .toString()
   .done({ result in
     print(result) // => "test"   
   })
onmyway133 commented 8 years ago

@vadymmarkov so hardcore :+1: