Sha256: bdae508b003e1c01d7b0487fa6bc4349869ed9001ace00fb4f9d1a5289edf237
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
require_relative '../../../../test_helper' module Troo describe Persistence::Member do let(:described_class) { Persistence::Member } let(:resource) do OpenStruct.new( id: '5195fdb5a8c01a2318004f5d', full_name: resource_full_name) end let(:resource_full_name) { 'My Test Member' } let(:options) { {} } before { @member = Fabricate(:member) } after { database_cleanup } describe '.initialize' do subject { described_class.new(resource, options) } it 'assigns the resource to an instance variable' do subject.instance_variable_get('@resource') .must_equal(resource) end it 'assigns the options to an instance variable' do subject.instance_variable_get('@options').must_equal(options) end end describe '#persist' do subject { described_class.for(resource, options) } context 'when there is already a local copy' do context 'and the local copy is identical' do it 'returns the local copy' do subject.must_equal(@member) end end context 'and the local copy is out of date' do let(:resource_full_name) { 'My Renamed Member' } it 'updates and returns the new local copy' do subject.full_name.must_equal(resource_full_name) end end end context 'when there is not already a local copy' do let(:resource_full_name) { 'My New Test Member' } before { database_cleanup } it 'creates and returns the new local copy' do subject.full_name.must_equal(resource_full_name) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
troo-0.0.8 | test/lib/troo/models/persistence/member_test.rb |