Sha256: 7ca6e99724e75771b9d2694a012709a63714d50455d0883a9bcf5c206d39826f
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
require_relative '../../../../test_helper' module Troo describe Retrieval::Member do let(:described_class) { Retrieval::Member } let(:full_name) { 'My Test Member' } before { @member = Fabricate(:member, full_name: full_name) } after { database_cleanup } describe '.all' do subject { described_class.all } it 'retrieves all locally stored members' do subject.size.must_equal 1 end end describe '.retrieve' do subject { described_class.retrieve(id) } context 'local retrieval by database ID' do let(:id) { @member.id } it 'returns the correct member' do subject.full_name.must_equal('My Test Member') end end context 'local retrieval by external ID' do let(:id) { '5195fdb5a8c01a2318004f5d' } it 'returns the correct member' do subject.full_name.must_equal('My Test Member') end end context 'remote retrieval by either ID' do let(:id) { '526d_remote_member_005259' } let(:full_name) { 'My Remote Test Member' } before { External::Member.stubs(:fetch).returns([@member]) } it 'returns the correct member' do subject.full_name.must_equal('My Remote Test Member') end end context 'when the ID cannot be found' do let(:id) { 'not_found_id' } before { External::Member.stubs(:fetch).returns([]) } it { subject.must_equal(nil) } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
troo-0.0.8 | test/lib/troo/models/retrieval/member_test.rb |