From e808a813fc9a796a0178344a522e249503c892dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Ignacio=20S=C3=A1nchez=20Lara?= Date: Tue, 9 Jun 2015 19:25:46 +0200 Subject: [PATCH] User model spec for twitter count --- Makefile | 9 ++++++++- spec/models/carto/user_spec.rb | 13 +++++++++++++ spec/models/user_shared_examples.rb | 30 +++++++++++++++++++++++++++++ spec/models/user_spec.rb | 7 +++++++ 4 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 spec/models/carto/user_spec.rb create mode 100644 spec/models/user_shared_examples.rb diff --git a/Makefile b/Makefile index 7795d99daa..1a640a212e 100644 --- a/Makefile +++ b/Makefile @@ -165,6 +165,11 @@ WORKING_SPECS_9 = \ spec/models/carto/ \ $(NULL) +WORKING_SPECS_10 = \ + spec/models/carto/user_service_spec.rb \ + spec/models/carto/user_spec.rb \ + $(NULL) + CDB_PATH=lib/assets/javascripts/cdb prepare-test-db: @@ -192,8 +197,10 @@ check-8: bundle exec rspec $(WORKING_SPECS_8) check-9: bundle exec rspec $(WORKING_SPECS_9) +check-10: + bundle exec rspec $(WORKING_SPECS_10) -check-prepared: check-1 check-2 check-3 check-4 check-5 check-6 check-7 check-8 check-9 +check-prepared: check-1 check-2 check-3 check-4 check-5 check-6 check-7 check-8 check-9 check-10 check: prepare-test-db check-prepared check-frontend: diff --git a/spec/models/carto/user_spec.rb b/spec/models/carto/user_spec.rb new file mode 100644 index 0000000000..028256eaed --- /dev/null +++ b/spec/models/carto/user_spec.rb @@ -0,0 +1,13 @@ +# coding: UTF-8 +require_relative '../../spec_helper' +require_relative '../user_shared_examples' + +describe Carto::User do + + it_behaves_like 'user models' do + let(:get_twitter_imports_count_by_user_id) { + Carto::User.where(id: @user_id).first.twitter_imports_count + } + end + +end diff --git a/spec/models/user_shared_examples.rb b/spec/models/user_shared_examples.rb new file mode 100644 index 0000000000..0809084c59 --- /dev/null +++ b/spec/models/user_shared_examples.rb @@ -0,0 +1,30 @@ +# encoding: UTF-8 + +require_relative '../spec_helper' + +# Tests should define `get_user_by_user_id` method +shared_examples_for "user models" do + + describe '#get_twitter_imports_count' do + + it "should count tweet imports" do + u1 = create_user(email: 'u1@exampleb.com', username: 'ub1', password: 'admin123') + @user_id = u1.id + + st = SearchTweet.new + st.user = u1 + st.table_id = '96a86fb7-0270-4255-a327-15410c2d49d4' + st.data_import_id = '96a86fb7-0270-4255-a327-15410c2d49d4' + st.service_item_id = '555' + st.retrieved_items = 5 + st.state = ::SearchTweet::STATE_COMPLETE + st.save + + get_twitter_imports_count_by_user_id.should == 5 + + u1.destroy + end + + end + +end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 6de3b873c1..e5b8e2547a 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1,5 +1,6 @@ # coding: UTF-8 require_relative '../spec_helper' +require_relative 'user_shared_examples' describe User do before(:all) do @@ -27,6 +28,12 @@ describe User do @user2.destroy end + it_behaves_like 'user models' do + let(:get_twitter_imports_count_by_user_id) { + User.where(id: @user_id).first.get_twitter_imports_count + } + end + it "should set a default database_host" do @user.database_host.should eq ::Rails::Sequel.configuration.environment_for(Rails.env)['host'] end