From 16bb89f46ee7d8ff136305b4aecd0133a8445f4b Mon Sep 17 00:00:00 2001 From: Rafael Reggiani Manzo Date: Wed, 20 May 2015 14:38:57 -0300 Subject: [PATCH] Major fixes after ReadingGroup or KalibroConfiguration hidding --- app/models/kalibro_configuration.rb | 11 ++++------- app/models/reading_group.rb | 11 ++++------- app/views/metric_configurations/_form.html.erb | 2 +- features/step_definitions/kalibro_configuration_steps.rb | 1 + spec/models/kalibro_configuration_spec.rb | 8 +++----- spec/models/reading_group_spec.rb | 8 +++----- 6 files changed, 16 insertions(+), 25 deletions(-) diff --git a/app/models/kalibro_configuration.rb b/app/models/kalibro_configuration.rb index 50be933..4f5ee46 100644 --- a/app/models/kalibro_configuration.rb +++ b/app/models/kalibro_configuration.rb @@ -2,15 +2,12 @@ class KalibroConfiguration < KalibroClient::Entities::Configurations::KalibroCon include KalibroRecord def self.public_or_owned_by_user(user=nil) - query = if user - KalibroConfigurationAttributes.where("user_id == ? OR public", user.id) - else - KalibroConfigurationAttributes.where(public: true) - end + kalibro_configuration_attributes = KalibroConfigurationAttributes.where(public: true) + kalibro_configuration_attributes += KalibroConfigurationAttributes.where(user_id: user.id, public: false) if user - query.map { |cfg_attr| + kalibro_configuration_attributes.map { |kalibro_configuration_attribute| begin - self.find(cfg_attr.kalibro_configuration_id) + self.find(kalibro_configuration_attribute.kalibro_configuration_id) rescue KalibroClient::Errors::RecordNotFound nil end diff --git a/app/models/reading_group.rb b/app/models/reading_group.rb index 28b9a61..2cc9167 100644 --- a/app/models/reading_group.rb +++ b/app/models/reading_group.rb @@ -2,15 +2,12 @@ class ReadingGroup < KalibroClient::Entities::Configurations::ReadingGroup include KalibroRecord def self.public_or_owned_by_user(user=nil) - query = if user - ReadingGroupAttributes.where("user_id == ? OR public", user.id) - else - ReadingGroupAttributes.where(public: true) - end + reading_group_attributes = ReadingGroupAttributes.where(public: true) + reading_group_attributes += ReadingGroupAttributes.where(user_id: user.id, public: false) if user - query.map { |rg_attr| + reading_group_attributes.map { |reading_group_attribute| begin - self.find(rg_attr.reading_group_id) + self.find(reading_group_attribute.reading_group_id) rescue KalibroClient::Errors::RecordNotFound nil end diff --git a/app/views/metric_configurations/_form.html.erb b/app/views/metric_configurations/_form.html.erb index 46db6cc..b7e0c60 100644 --- a/app/views/metric_configurations/_form.html.erb +++ b/app/views/metric_configurations/_form.html.erb @@ -34,7 +34,7 @@
<%= f.label :reading_group_id, class: 'control-label' %> - <%= f.select( :reading_group_id, reading_groups, {class: 'form-control'} ) %> + <%= f.select( :reading_group_id, reading_group_options, {class: 'form-control'} ) %>

diff --git a/features/step_definitions/kalibro_configuration_steps.rb b/features/step_definitions/kalibro_configuration_steps.rb index d469351..d177e16 100644 --- a/features/step_definitions/kalibro_configuration_steps.rb +++ b/features/step_definitions/kalibro_configuration_steps.rb @@ -13,6 +13,7 @@ end Given(/^I have a sample configuration$/) do @kalibro_configuration = FactoryGirl.create(:kalibro_configuration) FactoryGirl.create(:kalibro_configuration_attributes, {id: nil, user_id: nil, kalibro_configuration_id: @kalibro_configuration.id}) + end Given(/^I own a sample configuration$/) do diff --git a/spec/models/kalibro_configuration_spec.rb b/spec/models/kalibro_configuration_spec.rb index ab04e78..fdbd19e 100644 --- a/spec/models/kalibro_configuration_spec.rb +++ b/spec/models/kalibro_configuration_spec.rb @@ -34,13 +34,11 @@ describe KalibroConfiguration, :type => :model do kalibro_configurations.each do |kc| KalibroConfiguration.stubs(:find).with(kc.id).returns(kc) end + + KalibroConfigurationAttributes.expects(:where).with(public: true).returns(public_attrs) end 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 @@ -48,7 +46,7 @@ describe KalibroConfiguration, :type => :model do context 'when user is provided' do before do - KalibroConfigurationAttributes.expects(:where).with(kind_of(String), one_user.id).returns(ones_or_public_attrs) + KalibroConfigurationAttributes.expects(:where).with(user_id: one_user.id, public: false).returns([ones_private_attrs]) end it 'should find all public and owned reading groups' do diff --git a/spec/models/reading_group_spec.rb b/spec/models/reading_group_spec.rb index b6afb7e..3902478 100644 --- a/spec/models/reading_group_spec.rb +++ b/spec/models/reading_group_spec.rb @@ -79,13 +79,11 @@ describe ReadingGroup, :type => :model do reading_groups.each do |rg| ReadingGroup.stubs(:find).with(rg.id).returns(rg) end + + ReadingGroupAttributes.expects(:where).with(public: true).returns(public_attrs) end 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 @@ -93,7 +91,7 @@ describe ReadingGroup, :type => :model do context 'when user is provided' do before do - ReadingGroupAttributes.expects(:where).with(kind_of(String), one_user.id).returns(ones_or_public_attrs) + ReadingGroupAttributes.expects(:where).with(user_id: one_user.id, public: false).returns([ones_private_attrs]) end it 'should find all public and owned reading groups' do -- libgit2 0.21.2