diff --git a/spec/models/kalibro_configuration_spec.rb b/spec/models/kalibro_configuration_spec.rb index c35e94c..ab04e78 100644 --- a/spec/models/kalibro_configuration_spec.rb +++ b/spec/models/kalibro_configuration_spec.rb @@ -28,30 +28,47 @@ describe KalibroConfiguration, :type => :model do let(:ones_or_public_attrs) { public_attrs + [ones_private_attrs] } let(:ones_or_public_kalibro_configurations) { ones_or_public_attrs.map(&:kalibro_configuration) } - before :each do - # Map the reading group attributes to the corresponding Reading Group - kalibro_configurations.each do |kc| - KalibroConfiguration.stubs(:find).with(kc.id).returns(kc) + context 'when the kalibro configuration exists' do + before :each do + # Map the kalibro_configuration attributes to the corresponding Kalibro Configuration + kalibro_configurations.each do |kc| + KalibroConfiguration.stubs(:find).with(kc.id).returns(kc) + end end - end - context 'when user is not provided' do - before do - KalibroConfigurationAttributes.expects(:where).with(public: true).returns(public_attrs) + context 'when user is not provided' do + before do + KalibroConfigurationAttributes.expects(:where).with(public: true).returns(public_attrs) + end + + it 'should find all public reading groups' do + expect(KalibroConfiguration.public).to eq(public_kalibro_configurations) + end end - it 'should find all public reading groups' do - expect(KalibroConfiguration.public).to eq(public_kalibro_configurations) + context 'when user is provided' do + before do + KalibroConfigurationAttributes.expects(:where).with(kind_of(String), one_user.id).returns(ones_or_public_attrs) + end + + it 'should find all public and owned reading groups' do + expect(KalibroConfiguration.public_or_owned_by_user(one_user)).to eq(ones_or_public_kalibro_configurations) + end end end - context 'when user is provided' do - before do - KalibroConfigurationAttributes.expects(:where).with(kind_of(String), one_user.id).returns(ones_or_public_attrs) + context 'when the kalibro configuration does not' do + before :each do + # Map the kalibro_configuration attributes to the corresponding Kalibro Configuration + kalibro_configurations.each do |kc| + KalibroConfiguration.stubs(:find).with(kc.id).raises(KalibroClient::Errors::RecordNotFound) + end + + KalibroConfigurationAttributes.expects(:where).with(public: true).returns(public_attrs) end - it 'should find all public and owned reading groups' do - expect(KalibroConfiguration.public_or_owned_by_user(one_user)).to eq(ones_or_public_kalibro_configurations) + it 'is expected to be empty' do + expect(KalibroConfiguration.public).to be_empty end end end diff --git a/spec/models/reading_group_spec.rb b/spec/models/reading_group_spec.rb index 84dd679..b6afb7e 100644 --- a/spec/models/reading_group_spec.rb +++ b/spec/models/reading_group_spec.rb @@ -73,30 +73,47 @@ describe ReadingGroup, :type => :model do let(:ones_or_public_attrs) { public_attrs + [ones_private_attrs] } let(:ones_or_public_reading_groups) { ones_or_public_attrs.map(&:reading_group) } - before :each do - # Map the reading group attributes to the corresponding Reading Group - reading_groups.each do |rg| - ReadingGroup.stubs(:find).with(rg.id).returns(rg) + context 'when the reading group exists' do + before :each do + # Map the reading group attributes to the corresponding Reading Group + reading_groups.each do |rg| + ReadingGroup.stubs(:find).with(rg.id).returns(rg) + end end - end - context 'when user is not provided' do - before do - ReadingGroupAttributes.expects(:where).with(public: true).returns(public_attrs) + context 'when user is not provided' do + before do + ReadingGroupAttributes.expects(:where).with(public: true).returns(public_attrs) + end + + it 'should find all public reading groups' do + expect(ReadingGroup.public).to eq(public_reading_groups) + end end - it 'should find all public reading groups' do - expect(ReadingGroup.public).to eq(public_reading_groups) + context 'when user is provided' do + before do + ReadingGroupAttributes.expects(:where).with(kind_of(String), one_user.id).returns(ones_or_public_attrs) + end + + it 'should find all public and owned reading groups' do + expect(ReadingGroup.public_or_owned_by_user(one_user)).to eq(ones_or_public_reading_groups) + end end end - context 'when user is provided' do - before do - ReadingGroupAttributes.expects(:where).with(kind_of(String), one_user.id).returns(ones_or_public_attrs) + context 'when the reading group does not' do + before :each do + # Map the reading group attributes to the corresponding Reading Group + reading_groups.each do |rg| + ReadingGroup.stubs(:find).with(rg.id).raises(KalibroClient::Errors::RecordNotFound) + end + + ReadingGroupAttributes.expects(:where).with(public: true).returns(public_attrs) end - it 'should find all public and owned reading groups' do - expect(ReadingGroup.public_or_owned_by_user(one_user)).to eq(ones_or_public_reading_groups) + it 'is expected to be empty' do + expect(ReadingGroup.public).to be_empty end end end -- libgit2 0.21.2