Skip to content

Instantly share code, notes, and snippets.

@inacioferrarini
Last active June 23, 2017 23:37
Show Gist options
  • Save inacioferrarini/c976efccf7a108edd44522e865693578 to your computer and use it in GitHub Desktop.
Save inacioferrarini/c976efccf7a108edd44522e865693578 to your computer and use it in GitHub Desktop.
import Foundation
import Quick
import Nimble
@testable import SimpleNetworkLayer
class AnyObjectToRateTransformerSpec: QuickSpec {
override func spec() {
describe("Rates Transformer") {
let transformer = AnyObjectToRateTransformer()
it("must parse Rates data") {
guard let fixtureData = FixtureHelper().objectFixture(using: "ValidRatesFixture") else { fail("null fixture data"); return }
guard let parsedRates = transformer.transform(fixtureData) else { fail("returned nil object"); return }
expect(parsedRates).toNot(beNil())
expect(parsedRates.base) == "EUR"
expect(parsedRates.date) == "2017-06-23"
expect(parsedRates.rates.count) == 2
expect(parsedRates.rates["AUD"]) == 1.4764
expect(parsedRates.rates["BGN"]) == 1.9558
}
it("must parse Rates having empty data") {
guard let fixtureData = FixtureHelper().objectFixture(using: "ValidEmptyRatesFixture") else { fail("null fixture data"); return }
guard let parsedRates = transformer.transform(fixtureData) else { fail("returned nil object"); return }
expect(parsedRates.base) == ""
expect(parsedRates.date) == ""
expect(parsedRates.rates.count) == 0
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment