Sha256: ff4ef3a9b3c66f4e515808aa4d0925d91b19842eb8287fdb3a7eef04d237f01d
Contents?: true
Size: 1.63 KB
Versions: 6
Compression:
Stored size: 1.63 KB
Contents
require 'spec_helper' describe CandyCheck::AppStore::Verification do subject { CandyCheck::AppStore::Verification.new(endpoint, data, secret) } let(:endpoint) { 'https://some.endpoint' } let(:data) { 'some_data' } let(:secret) { 'some_secret' } it 'returns a verification failure for status != 0' do with_mocked_response('status' => 21_000) do |client, recorded| result = subject.call! client.receipt_data.must_equal data client.secret.must_equal secret recorded.first.must_equal [endpoint] result.must_be_instance_of CandyCheck::AppStore::VerificationFailure result.code.must_equal 21_000 end end it 'returns a verification failure when receipt is missing' do with_mocked_response({}) do |client, recorded| result = subject.call! client.receipt_data.must_equal data client.secret.must_equal secret recorded.first.must_equal [endpoint] result.must_be_instance_of CandyCheck::AppStore::VerificationFailure result.code.must_equal(-1) end end it 'returns a receipt when status is 0 and receipt exists' do response = { 'status' => 0, 'receipt' => { 'item_id' => 'some_id' } } with_mocked_response(response) do result = subject.call! result.must_be_instance_of CandyCheck::AppStore::Receipt result.item_id.must_equal('some_id') end end private def with_mocked_response(response) recorded = [] dummy = DummyClient.new(response) stub = proc do |*args| recorded << args dummy end CandyCheck::AppStore::Client.stub :new, stub do yield dummy, recorded end end end
Version data entries
6 entries across 6 versions & 1 rubygems