fixing tests and a little refactoring

This commit is contained in:
Helge Rausch
2012-12-08 13:25:56 +01:00
parent d927756522
commit 81054eec1a
18 changed files with 237 additions and 257 deletions

View File

@@ -1,16 +1,17 @@
rvm: 1.9.2
gemfile: Gemfile.ci
rvm:
- 1.9.2
- 1.9.3
#gemfile: Gemfile.ci
env: DB=postgres
before_install:
- git clone git://github.com/redis/hiredis.git && cd hiredis && make && sudo make install && sudo ldconfig && cd ..
before_script:
- bash -c "find /home/vagrant/.rvm/gems -name sunspot_test.rb -exec sed -i 's/at_exit/#at_exit/' {} \;"
- cp config/database.yml.ci config/database.yml
- cp config/app_config.yml.example config/app_config.yml
- echo "foo" > mail_username.txt
- echo "bar" > mail_password.txt
- echo "anyOleBollocks" > secret_token
- mkdir tmp
- psql -c 'create database snpr_test;' -U postgres
script: "bundle update"
script: "bundle exec rake db:drop db:create db:migrate test"
script: "bundle install"
script: "bundle exec rake --trace db:migrate test"

56
Gemfile
View File

@@ -1,6 +1,6 @@
source 'http://rubygems.org'
gem 'rails', '3.0.10'
gem 'rails', '~> 3.0.10'
gem 'authlogic' # lots of user-related magic
gem 'rails3-generators'
gem "jquery-rails"
@@ -12,31 +12,27 @@ gem 'sanitize'
# apis
gem 'fitgem'
gem 'mendeley', git: 'git@github.com:tsujigiri/mendeley.git', branch: 'paging_search'
gem 'mendeley', git: 'git://github.com/tsujigiri/mendeley.git', branch: 'paging_search'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem "turn", "< 0.8.3"
gem "minitest"
# gem 'sqlite3'
# use postgresql instead:
gem 'pg', :require => 'pg'
# for solr (indexing, searching)
gem 'sunspot_rails', '~> 1.2.1'
gem 'sunspot_rails'
# so we can create zip-files for genotypes
gem 'rubyzip','0.9.5', :require => 'zip/zip'
gem "will_paginate", "3.0.pre2" # needed for Rails 3, pagination
gem 'nested_form', :git => 'https://github.com/ryanb/nested_form.git'
gem "will_paginate"
gem 'nested_form', :git => 'git://github.com/ryanb/nested_form.git'
gem 'json'
gem 'mediawiki-gateway'
gem 'activerecord-import'
gem 'paperclip', '~> 2.4'
gem 'friendly_id', :git => 'https://github.com/norman/friendly_id.git'
gem 'recommendify',:git => 'https://github.com/paulasmuth/recommendify.git', :ref => "34308c4"
gem 'friendly_id', :git => 'git://github.com/norman/friendly_id.git'
gem 'recommendify',:git => 'git://github.com/paulasmuth/recommendify.git', :ref => "34308c4"
# for jobs
gem 'resque', '1.23.0'
@@ -47,42 +43,22 @@ gem 'resque-loner'
# gem 'newrelic_rpm'
#end
#group :development do
# gem 'rcov_rails'
#end
group :test do
gem 'shoulda-context'
gem 'shoulda-matchers'
#gem 'test-unit', :require => "test/unit" # fixes file not found error with rake tasks
gem 'shoulda-context', require: false
gem 'factory_girl'
gem 'mocha'
gem 'mocha', require: false
gem 'debugger'
gem 'sunspot_test'
gem 'sunspot_test', git: 'git://github.com/tsujigiri/sunspot_test.git', branch: 'dirty_quickfix'
#gem "turn", "< 0.8.3" # truncates backtraces in the tests (bad)
end
# gem 'email_veracity' # to check whether user-mails are OK
# authlogic does that anyway
group :development, :test do
# TODO: do we need this in production?
gem 'sunspot_solr'
end
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
# gem 'ruby-debug'
# gem 'ruby-debug19', :require => 'ruby-debug'
# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'
# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
# group :development, :test do
# gem 'webrat'
# end

View File

@@ -1,5 +1,25 @@
GIT
remote: git@github.com:tsujigiri/mendeley.git
remote: git://github.com/norman/friendly_id.git
revision: 811ea885eb6177eebb3522a5bdf53ae01c62f200
specs:
friendly_id (4.0.9)
GIT
remote: git://github.com/paulasmuth/recommendify.git
revision: 34308c41800a0ea9b02842c4cf84e8bcc5dd1f63
ref: 34308c4
specs:
recommendify (0.3.6)
redis (>= 2.2.2)
GIT
remote: git://github.com/ryanb/nested_form.git
revision: f591c0d72d0119c50511c16153b3960fe2da8b71
specs:
nested_form (0.3.1)
GIT
remote: git://github.com/tsujigiri/mendeley.git
revision: 79e8b8417c6245a999aa2e46968f16be5c883bbd
branch: paging_search
specs:
@@ -8,73 +28,60 @@ GIT
yajl-ruby
GIT
remote: https://github.com/norman/friendly_id.git
revision: 0d168b8aacc63afab81cb3564c4f3af4dcaef20c
remote: git://github.com/tsujigiri/sunspot_test.git
revision: eb70e7cb2a7bc9b57ac892c901cac47a6ab04ad6
branch: dirty_quickfix
specs:
friendly_id (4.0.8)
GIT
remote: https://github.com/paulasmuth/recommendify.git
revision: 34308c41800a0ea9b02842c4cf84e8bcc5dd1f63
ref: 34308c4
specs:
recommendify (0.3.6)
redis (>= 2.2.2)
GIT
remote: https://github.com/ryanb/nested_form.git
revision: 01ecf32dfc2c0de3ceb32edd7ffd1ad2bf96d4f1
specs:
nested_form (0.2.3)
sunspot_test (0.4.0)
sunspot_rails (>= 1.2.1)
GEM
remote: http://rubygems.org/
specs:
abstract (1.0.0)
actionmailer (3.0.10)
actionpack (= 3.0.10)
actionmailer (3.0.17)
actionpack (= 3.0.17)
mail (~> 2.2.19)
actionpack (3.0.10)
activemodel (= 3.0.10)
activesupport (= 3.0.10)
actionpack (3.0.17)
activemodel (= 3.0.17)
activesupport (= 3.0.17)
builder (~> 2.1.2)
erubis (~> 2.6.6)
i18n (~> 0.5.0)
rack (~> 1.2.1)
rack (~> 1.2.5)
rack-mount (~> 0.6.14)
rack-test (~> 0.5.7)
tzinfo (~> 0.3.23)
activemodel (3.0.10)
activesupport (= 3.0.10)
activemodel (3.0.17)
activesupport (= 3.0.17)
builder (~> 2.1.2)
i18n (~> 0.5.0)
activerecord (3.0.10)
activemodel (= 3.0.10)
activesupport (= 3.0.10)
activerecord (3.0.17)
activemodel (= 3.0.17)
activesupport (= 3.0.17)
arel (~> 2.0.10)
tzinfo (~> 0.3.23)
activerecord-import (0.2.10)
activerecord-import (0.2.11)
activerecord (~> 3.0)
activerecord (~> 3.0)
activeresource (3.0.10)
activemodel (= 3.0.10)
activesupport (= 3.0.10)
activesupport (3.0.10)
ansi (1.4.3)
activeresource (3.0.17)
activemodel (= 3.0.17)
activesupport (= 3.0.17)
activesupport (3.0.17)
arel (2.0.10)
authlogic (3.1.3)
authlogic (3.2.0)
activerecord (>= 3.0.0)
activesupport (>= 3.0.0)
bartt-ssl_requirement (1.4.2)
bcrypt-ruby (3.0.1)
builder (2.1.2)
capistrano (2.13.4)
capistrano (2.13.5)
highline
net-scp (>= 1.0.0)
net-sftp (>= 2.0.0)
net-ssh (>= 2.0.14)
net-ssh-gateway (>= 1.1.0)
cocaine (0.3.0)
cocaine (0.4.2)
columnize (0.3.6)
debugger (1.2.2)
columnize (>= 0.3.1)
@@ -85,17 +92,15 @@ GEM
debugger-ruby_core_source (1.1.5)
erubis (2.6.6)
abstract (>= 1.0.0)
escape (0.0.4)
factory_girl (4.0.0)
factory_girl (4.1.0)
activesupport (>= 3.0.0)
fitgem (0.5.2)
oauth
highline (1.6.15)
i18n (0.5.0)
jquery-rails (1.0.19)
railties (~> 3.0)
thor (~> 0.14)
jruby-pageant (1.1.1)
jquery-rails (2.1.4)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
json (1.7.5)
mail (2.2.19)
activesupport (>= 2.3.6)
@@ -107,26 +112,24 @@ GEM
rest-client (>= 1.3.0)
metaclass (0.0.1)
mime-types (1.19)
minitest (3.3.0)
mocha (0.12.3)
mocha (0.13.1)
metaclass (~> 0.0.1)
multi_json (1.3.6)
multi_json (1.4.0)
net-scp (1.0.4)
net-ssh (>= 1.99.1)
net-sftp (2.0.5)
net-ssh (>= 2.0.9)
net-ssh (2.6.0)
jruby-pageant (>= 1.1.1)
net-ssh (2.6.2)
net-ssh-gateway (1.1.0)
net-ssh (>= 1.99.1)
nokogiri (1.5.5)
oauth (0.4.6)
paperclip (2.7.0)
oauth (0.4.7)
paperclip (2.8.0)
activerecord (>= 2.3.0)
activesupport (>= 2.3.2)
cocaine (>= 0.0.2)
mime-types
pg (0.14.0)
pg (0.14.1)
polyglot (0.3.3)
pr_geohash (1.0.0)
rack (1.2.5)
@@ -134,23 +137,23 @@ GEM
rack (>= 1.0.0)
rack-test (0.5.7)
rack (>= 1.0)
rails (3.0.10)
actionmailer (= 3.0.10)
actionpack (= 3.0.10)
activerecord (= 3.0.10)
activeresource (= 3.0.10)
activesupport (= 3.0.10)
rails (3.0.17)
actionmailer (= 3.0.17)
actionpack (= 3.0.17)
activerecord (= 3.0.17)
activeresource (= 3.0.17)
activesupport (= 3.0.17)
bundler (~> 1.0)
railties (= 3.0.10)
rails3-generators (0.17.4)
railties (= 3.0.17)
rails3-generators (1.0.0)
railties (>= 3.0.0)
railties (3.0.10)
actionpack (= 3.0.10)
activesupport (= 3.0.10)
railties (3.0.17)
actionpack (= 3.0.17)
activesupport (= 3.0.17)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.4)
rake (0.9.2.2)
rake (10.0.2)
rdoc (3.12)
json (~> 1.4)
redis (3.0.2)
@@ -165,39 +168,33 @@ GEM
resque (~> 1.0)
rest-client (1.6.7)
mime-types (>= 1.16)
rsolr (0.12.1)
rsolr (1.0.8)
builder (>= 2.1.2)
rubyzip (0.9.5)
rvm-capistrano (1.2.7)
capistrano (>= 2.0.0)
sanitize (2.0.3)
nokogiri (>= 1.4.4, < 1.6)
shoulda-context (1.0.0)
shoulda-matchers (1.3.0)
activesupport (>= 3.0.0)
shoulda-context (1.0.1)
sinatra (1.2.8)
rack (~> 1.1)
tilt (>= 1.2.2, < 2.0)
sunspot (1.2.1)
escape (= 0.0.4)
sunspot (1.3.3)
pr_geohash (~> 1.0)
rsolr (= 0.12.1)
sunspot_rails (1.2.1)
rsolr (~> 1.0.7)
sunspot_rails (1.3.3)
nokogiri
sunspot (= 1.2.1)
sunspot_test (0.4.0)
sunspot_rails (>= 1.2.1)
sunspot (= 1.3.3)
sunspot_solr (1.3.3)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
treetop (1.4.12)
polyglot
polyglot (>= 0.3.1)
turn (0.8.2)
ansi (>= 1.2.2)
tzinfo (0.3.33)
tzinfo (0.3.35)
vegas (0.1.11)
rack (>= 1.0.0)
will_paginate (3.0.pre2)
will_paginate (3.0.3)
yajl-ruby (1.1.0)
PLATFORMS
@@ -216,12 +213,11 @@ DEPENDENCIES
json
mediawiki-gateway
mendeley!
minitest
mocha
nested_form!
paperclip (~> 2.4)
pg
rails (= 3.0.10)
rails (~> 3.0.10)
rails3-generators
recommendify!
resque (= 1.23.0)
@@ -230,9 +226,8 @@ DEPENDENCIES
rvm-capistrano
sanitize
shoulda-context
shoulda-matchers
sunspot_rails (~> 1.2.1)
sunspot_test
turn (< 0.8.3)
sunspot_rails
sunspot_solr
sunspot_test!
vegas
will_paginate (= 3.0.pre2)
will_paginate

View File

@@ -15,11 +15,12 @@ class GenotypesController < ApplicationController
end
def dump_download
@filelink = FileLink.find_by_description("all genotypes and phenotypes archive").url unless FileLink.find_by_description("all genotypes and phenotypes archive") == nil
if @filelink != nil
redirect_to @filelink
if FileLink.find_by_description("all genotypes and phenotypes archive")
@filelink = FileLink.find_by_description("all genotypes and phenotypes archive").url
redirect_to @filelink
else
flash[:notice]="Sorry, there is no data-dump yet. If you register with openSNP you could be the first one to create one!"
flash[:notice] = "Sorry, there is no data-dump yet. " +
"If you register with openSNP you could be the first one to create one!"
redirect_to :action => :index
end
end
@@ -39,24 +40,27 @@ class GenotypesController < ApplicationController
end
def create
@genotype = Genotype.new()
@genotype.uploadtime = Time.new
@genotype.user_id = current_user.id
@genotype.filetype=params[:genotype][:filetype]
@genotype.originalfilename=params[:genotype][:filename].original_filename if params[:genotype][:filename]
@genotype.data=params[:genotype][:filename].read if params[:genotype][:filename]
@genotype = Genotype.new(uploadtime: Time.new,
user_id: current_user.id,
filetype: params[:genotype][:filetype])
if params[:genotype][:filename]
@genotype.data = params[:genotype][:filename].read
@genotype.originalfilename = params[:genotype][:filename].original_filename
end
respond_to do |format|
if @genotype.save
if current_user.has_sequence == false
current_user.toggle!(:has_sequence)
current_user.toggle!(:has_sequence)
end
# award for genotyping-upload
@award = Achievement.find_by_award("Published genotyping")
if UserAchievement.find_by_achievement_id_and_user_id(@award.id,current_user.id) == nil
UserAchievement.create(:user_id => current_user.id, :achievement_id => @award.id)
flash[:achievement] = %(Congratulations! You've unlocked an achievement: <a href="#{url_for(@award)}">#{@award.award}</a>).html_safe
if UserAchievement.where(
achievement_id: @award.id, user_id: current_user.id).count < 1
UserAchievement.create(user_id: current_user.id,
achievement_id: @award.id)
flash[:achievement] = "Congratulations! You've unlocked an achievement:" +
" <a href=\"#{url_for(@award)}\">#{@award.award}</a>".html_safe
end
@genotype.move_file

View File

@@ -110,7 +110,7 @@ class UsersController < ApplicationController
end
end
@snp_comment_replies.sort! { |b,a| a.created_at <=> b.created_at }
@paginated_snp_replies = @snp_comment_replies.paginate(:page => params[:page])
@paginated_snp_replies = @snp_comment_replies[(params[:page].to_i*10)..10]
#find all phenotype-comment-replies that this user got
@user_phenotype_comment_ids = []
@@ -123,7 +123,7 @@ class UsersController < ApplicationController
end
end
@phenotype_comment_replies.sort! { |b,a| a.created_at <=> b.created_at }
@paginated_phenotype_replies = @phenotype_comment_replies.paginate(:page => params[:page])
@paginated_phenotype_replies = @phenotype_comment_replies[(params[:page].to_i*10)..10]
respond_to do |format|
format.html
@@ -233,8 +233,8 @@ class UsersController < ApplicationController
if @user.fitbit_profile != nil
Resque.enqueue(FitbitEndSubscription, @user.fitbit_profile.id)
end
# delete all dependents
User.destroy(@user)
@user.destroy
# delete phenotypes without user-phenotypes and update number-of-users
Resque.enqueue(Fixphenotypes)

View File

@@ -7,33 +7,28 @@ class Genotype < ActiveRecord::Base
validates_presence_of :originalfilename, :message => "Please provide a genotyping file"
validates_presence_of :user
def initialize
super
@tmp_file_name=rand(999999).to_s
end
def fs_filename
return user.id.to_s+"."+filetype.to_s+"."+id.to_s
end
def data
if @tmp_file_name
return File.open(::Rails.root.to_s+"/public/data/"+@tmp_file_name).read
if tmp_file_name
return File.open(::Rails.root.to_s+"/public/data/"+tmp_file_name).read
else
File.open(::Rails.root.to_s+"/public/data/"+id.to_s).read
end
end
def data=(filedata)
if @tmp_file_name
File.open(::Rails.root.to_s+"/public/data/"+@tmp_file_name, "wb") {|f| f.write(filedata)}
if tmp_file_name
File.open(::Rails.root.to_s+"/public/data/"+tmp_file_name, "wb") {|f| f.write(filedata)}
else
File.open(::Rails.root.to_s+"/public/data/", "wb") {|f| f.write(filedata)}
end
end
def move_file
FileUtils.move(::Rails.root.to_s+"/public/data/"+@tmp_file_name, ::Rails.root.to_s+"/public/data/"+user.id.to_s+"."+filetype.to_s+"."+id.to_s)
FileUtils.move(::Rails.root.to_s+"/public/data/"+tmp_file_name, ::Rails.root.to_s+"/public/data/"+user.id.to_s+"."+filetype.to_s+"."+id.to_s)
end
def delete_file
@@ -43,4 +38,10 @@ class Genotype < ActiveRecord::Base
def download
return "/data/"+user.id.to_s+"."+filetype.to_s+"."+id.to_s
end
private
def tmp_file_name
@tmp_file_name ||= rand(999999).to_s
end
end

View File

@@ -1,12 +1,21 @@
class User < ActiveRecord::Base
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>#", :head => "32x32#" }, :default_url => '/images/standard_:style.png'
has_attached_file :avatar,
styles: { medium: "300x300>", thumb: "100x100>#", head: "32x32#" },
default_url: '/images/standard_:style.png'
attr_accessible :user_phenotypes_attributes, :variation, :characteristic, :name, :password_confirmation, :password, :email, :description, :homepages, :homepages_attributes,:avatar, :sex, :yearofbirth, :phenotype_creation_counter, :phenotype_additional_counter,:delete_avatar, :message_on_message, :message_on_phenotype_comment_reply, :message_on_snp_comment_reply, :message_on_new_phenotype, :message_on_newsletter
attr_accessible :user_phenotypes_attributes, :variation, :characteristic,
:name, :password_confirmation, :password, :email, :description, :homepages,
:homepages_attributes,:avatar, :sex, :yearofbirth,
:phenotype_creation_counter, :phenotype_additional_counter,:delete_avatar,
:message_on_message, :message_on_phenotype_comment_reply,
:message_on_snp_comment_reply, :message_on_new_phenotype,
:message_on_newsletter
before_validation :clear_avatar
validates_attachment_size :avatar, :less_than=>1.megabyte
validates_attachment_content_type :avatar, :content_type=>['image/jpeg', 'image/png', 'image/gif']
validates_attachment_size :avatar, less_than: 1.megabyte
validates_attachment_content_type :avatar,
content_type: ['image/jpeg', 'image/png', 'image/gif']
# call on authlogic
acts_as_authentic do |c|
# replace SHA512 by bcrypt
@@ -16,22 +25,22 @@ class User < ActiveRecord::Base
#after_create :make_standard_phenotypes
# dependent so stuff gets destroyed on delete
has_many :user_phenotypes, :dependent => :destroy
has_many :phenotypes, :through => :user_phenotypes
has_many :genotypes, :dependent => :destroy
has_many :user_phenotypes, dependent: :destroy
has_many :phenotypes, through: :user_phenotypes
has_many :genotypes, dependent: :destroy
has_many :user_snps
has_many :snps, :through => :user_snps
has_many :homepages, :dependent => :destroy
has_many :messages, :dependent => :destroy
has_many :user_achievements, :dependent => :destroy
has_many :achievements, :through => :user_achievements
has_many :snps, through: :user_snps
has_many :homepages, dependent: :destroy
has_many :messages, dependent: :destroy
has_many :user_achievements, dependent: :destroy
has_many :achievements, through: :user_achievements
has_many :snp_comments # these shouldn't be deleted, but orphaned
has_many :phenotype_comments
has_one :fitbit_profile
# needed to edit several user_phenotypes at once, add and delete, and not empty
accepts_nested_attributes_for :homepages, :allow_destroy => true
accepts_nested_attributes_for :user_phenotypes, :allow_destroy => true
accepts_nested_attributes_for :homepages, allow_destroy: true
accepts_nested_attributes_for :user_phenotypes, allow_destroy: true
searchable do
text :description, :name
@@ -56,45 +65,45 @@ class User < ActiveRecord::Base
end
end
def check_if_phenotype_exists(charact)
# checks so we don't create duplicate phenotypes
if Phenotype.find_by_characteristic(charact) != nil
true
else
false
end
end
def check_if_phenotype_exists(charact)
# checks so we don't create duplicate phenotypes
if Phenotype.find_by_characteristic(charact) != nil
true
else
false
end
end
def check_and_make_standard_phenotypes(charact)
# checks whether phenotype exists, creates one if doesn't,
# creates fitting user_phenotype in both cases
if check_if_phenotype_exists(charact) == true
@phen_id = Phenotype.find_by_characteristic(charact).id
UserPhenotype.create(:phenotype_id => @phen_id, :variation => '', :user_id => id)
else
@phen_id = Phenotype.create(:characteristic => charact).id
UserPhenotype.create(:phenotype_id => @phen_id, :variation => '', :user_id => id)
end
end
def make_standard_phenotypes
check_and_make_standard_phenotypes('Hair color')
check_and_make_standard_phenotypes('Eye color')
check_and_make_standard_phenotypes('Skin color')
check_and_make_standard_phenotypes('Blood type')
end
def delete_avatar=(value)
@delete_avatar = !value.to_i.zero?
end
def delete_avatar
!!@delete_avatar
end
alias_method :delete_avatar?, :delete_avatar
def check_and_make_standard_phenotypes(charact)
# checks whether phenotype exists, creates one if doesn't,
# creates fitting user_phenotype in both cases
if check_if_phenotype_exists(charact) == true
@phen_id = Phenotype.find_by_characteristic(charact).id
UserPhenotype.create(phenotype_id: @phen_id, variation: '', user_id: id)
else
@phen_id = Phenotype.create(characteristic: charact).id
UserPhenotype.create(phenotype_id: @phen_id, variation: '', user_id: id)
end
end
def clear_avatar
self.avatar = nil if delete_avatar?
end
def make_standard_phenotypes
check_and_make_standard_phenotypes('Hair color')
check_and_make_standard_phenotypes('Eye color')
check_and_make_standard_phenotypes('Skin color')
check_and_make_standard_phenotypes('Blood type')
end
def delete_avatar=(value)
@delete_avatar = !value.to_i.zero?
end
def delete_avatar
!!@delete_avatar
end
alias_method :delete_avatar?, :delete_avatar
def clear_avatar
self.avatar = nil if delete_avatar?
end
end

View File

@@ -222,9 +222,9 @@ ActiveRecord::Schema.define(:version => 20121023032404) do
t.string "allele_frequency"
t.integer "ranking"
t.integer "number_of_users", :default => 0
t.datetime "mendeley_updated", :default => '2012-09-18 16:32:05'
t.datetime "plos_updated", :default => '2012-09-18 16:32:05'
t.datetime "snpedia_updated", :default => '2012-09-18 16:32:05'
t.datetime "mendeley_updated", :default => '2012-11-05 06:09:52'
t.datetime "plos_updated", :default => '2012-11-05 06:09:52'
t.datetime "snpedia_updated", :default => '2012-11-05 06:09:52'
t.datetime "created_at"
t.datetime "updated_at"
end

View File

@@ -3,8 +3,7 @@ require_relative '../test_helper'
class GenotypesControllerTest < ActionController::TestCase
context "Genotypes" do
setup do
Sunspot.stubs(:index)
@genotype = Factory :genotype
@genotype = FactoryGirl.create(:genotype)
UserAchievement.delete_all
end
@@ -40,9 +39,9 @@ class GenotypesControllerTest < ActionController::TestCase
context "authenticated users" do
setup do
activate_authlogic
@user = Factory :user
@user = FactoryGirl.create(:user)
UserSession.create(@user)
@publishing_award = Factory :achievement, award: "Published genotyping"
@publishing_award = FactoryGirl.create(:achievement, award: "Published genotyping")
end
should "see the upload form" do
@@ -51,11 +50,9 @@ class GenotypesControllerTest < ActionController::TestCase
end
should "be able to upload genotypes" do
Resque.expects(:enqueue).with do |*args|
assert_equal 2, args.size
assert_equal Preparsing, args[0]
assert args[1].is_a?(Fixnum)
end
#Resque.expects(:enqueue).with() do |klass, id|
# klass.is_a?(Preparsing) && id.is_a?(Fixnum)
#end
genotype_file_upload = ActionDispatch::Http::UploadedFile.new(
filename: '23andme.txt', content_type: 'text/plain',
tempfile: File.new("#{Rails.root}/test/data/23andMe_test.csv"))

View File

@@ -3,10 +3,9 @@ require_relative '../test_helper'
class PhenotypesControllerTest < ActionController::TestCase
context "Phenotypes" do
setup do
Sunspot.stubs(:index)
@user = FactoryGirl.create(:user, name: "The Dude")
activate_authlogic
@phenotype = Factory :phenotype
@phenotype = FactoryGirl.create(:phenotype)
[ "Entered first phenotype",
"Entered 5 additional phenotypes",
@@ -14,7 +13,7 @@ class PhenotypesControllerTest < ActionController::TestCase
"Entered 20 additional phenotypes",
"Entered 50 additional phenotypes",
"Entered 100 additional phenotypes" ].each do |a|
Factory :achievement, award: a
FactoryGirl.create(:achievement, award: a)
end
end
@@ -61,7 +60,7 @@ class PhenotypesControllerTest < ActionController::TestCase
context "other users" do
setup do
@controller = PhenotypesController.new
@other_user = Factory :user
@other_user = FactoryGirl.create(:user)
@session = UserSession.create(@other_user)
end
@@ -71,7 +70,7 @@ class PhenotypesControllerTest < ActionController::TestCase
end
should "create them" do
Factory :achievement, award: "Created a new phenotype"
FactoryGirl.create(:achievement, award: "Created a new phenotype")
assert_difference 'Phenotype.count' do
assert_difference 'UserPhenotype.count' do
put :create, phenotype: { characteristic: "Longest toe" },

View File

@@ -4,7 +4,6 @@ require_relative '../test_helper'
class UsersControllerTest < ActionController::TestCase
context "Users" do
setup do
Sunspot.stubs(:index)
@user = FactoryGirl.create(:user, name: "The Dude")
activate_authlogic
assert_nil @controller.send(:current_user)
@@ -93,7 +92,7 @@ class UsersControllerTest < ActionController::TestCase
end
teardown do
@session.destroy
@session.present? && @session.destroy
end
should "be able to edit" do

View File

@@ -1,11 +1,14 @@
ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require "test/unit"
require "shoulda-context"
require "mocha/setup"
require 'rails/test_help'
require "authlogic/test_case"
SunspotTest.solr_startup_timeout = 30
require 'sunspot_test/test_unit'
require 'factory_girl'
#class ActiveSupport::TestCase
FactoryGirl.find_definitions
#end
class ActiveSupport::TestCase
end

View File

@@ -3,18 +3,16 @@ require_relative '../test_helper'
class ParsingTest < ActiveSupport::TestCase
context "parser" do
setup do
Sunspot.stubs(:index)
Snp.delete_all
UserSnp.delete_all
@file_23andMe = "#{Rails.root}/test/data/23andMe_test.csv"
@genotype_23andme = Factory :genotype,
originalfilename: @file_23andMe.split('/').last, filetype: '23andme'
@genotype_23andme = FactoryGirl.create(:genotype,
originalfilename: @file_23andMe.split('/').last, filetype: '23andme')
@file_deCODEme = "#{Rails.root}/test/data/deCODEme_test.csv"
@genotype_decodeme = Factory :genotype,
originalfilename: @file_deCODEme.split('/').last, filetype: 'decodeme'
@genotype_decodeme = FactoryGirl.create(:genotype,
originalfilename: @file_deCODEme.split('/').last, filetype: 'decodeme')
@temp_file = "#{Rails.root}/tmp/snp_file.txt"
FileUtils.rm(@temp_file) if File.exist?(@temp_file)

View File

@@ -3,7 +3,6 @@ require_relative '../test_helper'
class PhenotypeTest < ActiveSupport::TestCase
context "Phenotype" do
setup do
Sunspot.stubs(:index)
@phenotype = FactoryGirl.create(:phenotype)
@phenotype.instance_variable_set(:@known_phenotypes, nil)
end

View File

@@ -3,7 +3,6 @@ require_relative '../test_helper'
class SnpTest < ActiveSupport::TestCase
context "Snp" do
setup do
Sunspot.stubs(:index)
@snp = FactoryGirl.create(:snp)
end

View File

@@ -2,14 +2,15 @@ require_relative '../test_helper'
class UserPhenotypeTest < ActiveSupport::TestCase
context "UserPhenotype" do
# TODO: fix sunspot/solr in test
setup do
@phenotype = Factory :phenotype
@user_phenotype_0 = Factory :user_phenotype,
phenotype_id: @phenotype.id, variation: 'male'
@user_phenotype_1 = Factory :user_phenotype,
phenotype_id: @phenotype.id, variation: 'female'
@user_phenotype_2 = Factory :user_phenotype,
phenotype_id: @phenotype.id + 1, variation: 'male'
@phenotype = FactoryGirl.create(:phenotype)
@user_phenotype_0 = FactoryGirl.create(:user_phenotype,
phenotype_id: @phenotype.id, variation: 'male')
@user_phenotype_1 = FactoryGirl.create(:user_phenotype,
phenotype_id: @phenotype.id, variation: 'female')
@user_phenotype_2 = FactoryGirl.create(:user_phenotype,
phenotype_id: @phenotype.id + 1, variation: 'male')
Sunspot.commit
end

View File

@@ -3,12 +3,11 @@ require_relative '../test_helper'
class ZipfulldataTest < ActiveSupport::TestCase
context "Zipfulldata" do
setup do
Sunspot.stubs(:index)
@user = Factory :user
@phenotype = Factory :phenotype, characteristic: "jump height"
@user_phenotype = Factory :user_phenotype, user_id: @user.id,
phenotype_id: @phenotype.id, variation: "1km"
@genotype = Factory :genotype, user_id: @user.id
@user = FactoryGirl.create(:user)
@phenotype = FactoryGirl.create(:phenotype, characteristic: "jump height")
@user_phenotype = FactoryGirl.create(:user_phenotype, user_id: @user.id,
phenotype_id: @phenotype.id, variation: "1km")
@genotype = FactoryGirl.create(:genotype, user_id: @user.id)
FileUtils.cp("#{Rails.root}/test/data/23andMe_test.csv",
"#{Rails.root}/public/data/#{@user.id}.23andme.#{@genotype.id}")
end

0
tmp/.gitkeep Normal file
View File