diff --git a/.rubocop.yml b/.rubocop.yml index a7e5fc01..a51fe360 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -25,8 +25,15 @@ Style/EmptyLinesAroundAccessModifier: Enabled: true # Do not insert empty line after class definition and before closing class -Style/EmptyLinesAroundBody: - Enabled: true + +Style/EmptyLinesAroundBlockBody: + EnforcedStyle: no_empty_lines + +Style/EmptyLinesAroundClassBody: + EnforcedStyle: no_empty_lines + +Style/EmptyLinesAroundModuleBody: + EnforcedStyle: no_empty_lines # Use hash literal {} instead of Hash.new Style/EmptyLiteral: @@ -93,12 +100,12 @@ Style/AndOr: Enabled: true # avoid deep blocks nesting -Style/BlockNesting: +Metrics/BlockNesting: Max: 4 # use do instead of {...} in multiline blocks -Style/Blocks: - Enabled: true +Style/BlockDelimiters: + EnforcedStyle: line_count_based # avoid redundunt curly braces when it is obvious that hash is used Style/BracesAroundHashParameters: diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 9624f5f8..ffd841c1 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,218 +1,359 @@ -# This configuration was generated by `rubocop --auto-gen-config` -# on 2014-07-21 12:48:09 +0200 using RuboCop version 0.24.1. +# This configuration was generated by +# `rubocop --auto-gen-config` +# on 2015-10-22 14:30:43 +0200 using RuboCop version 0.34.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 3 +# Offense count: 2 +Lint/DuplicatedKey: + Exclude: + - 'db/migrate/20140801164901_move_conference_media_to_commercial.rb' + - 'db/migrate/20140801170430_move_event_media_to_commercial.rb' + +# Offense count: 83 +Metrics/AbcSize: + Max: 73 + +# Offense count: 6 +# Configuration parameters: CountComments. +Metrics/ClassLength: + Max: 200 + +# Offense count: 9 +Metrics/CyclomaticComplexity: + Max: 12 + +# Offense count: 863 +# Configuration parameters: AllowURI, URISchemes. +Metrics/LineLength: + Max: 207 + +# Offense count: 87 +# Configuration parameters: CountComments. +Metrics/MethodLength: + Max: 56 + +# Offense count: 1 +# Configuration parameters: CountComments. +Metrics/ModuleLength: + Max: 243 + +# Offense count: 5 +Metrics/PerceivedComplexity: + Max: 15 + +# Offense count: 18 +Style/AccessorMethodName: + Exclude: + - 'app/controllers/admin/events_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/models/campaign.rb' + - 'app/models/conference.rb' + - 'app/models/target.rb' + - 'app/models/user.rb' + +# Offense count: 4 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/ClassCheck: - Enabled: false - -# Offense count: 8 -# Configuration parameters: CountComments. -Style/ClassLength: - Max: 524 + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/models/email_settings.rb' + - 'app/models/revision_observer.rb' # Offense count: 1 Style/ClassVars: - Enabled: false - -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: PreferredMethods. -Style/CollectionMethods: - Enabled: false + Exclude: + - 'spec/support/kneet_connections.rb' # Offense count: 1 # Cop supports --auto-correct. Style/ColonMethodCall: - Enabled: false + Exclude: + - 'app/models/contact.rb' -# Offense count: 4 +# Offense count: 1 +# Cop supports --auto-correct. # Configuration parameters: Keywords. Style/CommentAnnotation: - Enabled: false + Exclude: + - 'app/models/event_user.rb' -# Offense count: 4 +# Offense count: 3 # Cop supports --auto-correct. Style/CommentIndentation: - Enabled: false + Exclude: + - 'app/controllers/admin/comments_controller.rb' + - 'app/models/conference.rb' + - 'app/models/track.rb' -# Offense count: 10 -Style/CyclomaticComplexity: - Max: 16 - -# Offense count: 5 -# Cop supports --auto-correct. -Style/DeprecatedHashMethods: - Enabled: false - -# Offense count: 228 +# Offense count: 341 +# Configuration parameters: Exclude. Style/Documentation: Enabled: false -# Offense count: 150 +# Offense count: 97 +# Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/DotPosition: Enabled: false -# Offense count: 9 +# Offense count: 5 Style/DoubleNegation: - Enabled: false + Exclude: + - 'app/models/conference.rb' # Offense count: 1 # Configuration parameters: Exclude. Style/FileName: - Enabled: false + Exclude: + - 'Guardfile' -# Offense count: 8 +# Offense count: 15 # Configuration parameters: MinBodyLength. Style/GuardClause: - Enabled: false + Exclude: + - 'app/controllers/admin/base_controller.rb' + - 'app/controllers/admin/questions_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/controllers/conference_registrations_controller.rb' + - 'app/controllers/tickets_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/ability.rb' + - 'app/models/conference.rb' + - 'app/models/event.rb' + - 'app/models/registration.rb' + - 'app/models/ticket.rb' + - 'app/models/user.rb' + - 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb' # Offense count: 27 +# Cop supports --auto-correct. # Configuration parameters: MaxLineLength. Style/IfUnlessModifier: - Enabled: false + Exclude: + - 'app/controllers/admin/events_controller.rb' + - 'app/controllers/admin/schedules_controller.rb' + - 'app/controllers/conference_registrations_controller.rb' + - 'app/controllers/proposal_controller.rb' + - 'app/controllers/users/omniauth_callbacks_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/conference.rb' + - 'app/models/datatable.rb' + - 'app/models/event.rb' + - 'app/models/ticket_purchase.rb' + - 'app/models/user.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' + - 'spec/features/omniauth_spec.rb' + - 'spec/support/flash.rb' + - 'spec/support/save_feature_failures.rb' -# Offense count: 2 +# Offense count: 3 # Cop supports --auto-correct. Style/IndentArray: - Enabled: false + Exclude: + - 'app/controllers/admin/registrations_controller.rb' + - 'app/models/conference.rb' -# Offense count: 8 +# Offense count: 4 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/IndentHash: Enabled: false -# Offense count: 2 -# Cop supports --auto-correct. -Style/IndentationConsistency: - Enabled: false - # Offense count: 5 # Cop supports --auto-correct. -Style/IndentationWidth: - Enabled: false +# Configuration parameters: EnforcedStyle, SupportedStyles. +Style/IndentationConsistency: + Exclude: + - 'app/controllers/conference_controller.rb' + - 'app/controllers/users_controller.rb' + - 'app/models/event.rb' + - 'spec/controllers/subscriptions_controller_spec.rb' + - 'spec/models/cfp_spec.rb' -# Offense count: 7 +# Offense count: 12 +# Cop supports --auto-correct. +# Configuration parameters: Width. +Style/IndentationWidth: + Exclude: + - 'app/helpers/application_helper.rb' + - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' + - 'db/migrate/20141031225545_add_require_handicapped_access_to_questions.rb' + - 'db/migrate/20141031225606_add_attending_with_partner_to_questions.rb' + - 'db/migrate/20141031225620_add_staying_at_suggested_hotel_to_questions.rb' + - 'db/migrate/20141031225635_add_attending_social_events_to_questions.rb' + - 'db/migrate/20141118162030_change_lodging_association_to_conference.rb' + - 'spec/features/event_types_spec.rb' + - 'spec/models/cfp_spec.rb' + +# Offense count: 6 # Cop supports --auto-correct. Style/LeadingCommentSpace: - Enabled: false + Exclude: + - 'Guardfile' + - 'app/controllers/admin/commercials_controller.rb' + - 'app/controllers/commercials_controller.rb' + - 'app/models/comment.rb' -# Offense count: 5 +# Offense count: 8 # Cop supports --auto-correct. Style/LineEndConcatenation: - Enabled: false + Exclude: + - 'spec/features/cfp_spec.rb' + - 'spec/features/conference_spec.rb' + - 'spec/features/registration_periods_spec.rb' -# Offense count: 515 -# Configuration parameters: AllowURI. -Style/LineLength: - Max: 217 - -# Offense count: 5 +# Offense count: 7 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/MethodDefParentheses: Enabled: false -# Offense count: 68 -# Configuration parameters: CountComments. -Style/MethodLength: - Max: 134 - -# Offense count: 14 +# Offense count: 16 # Cop supports --auto-correct. Style/NegatedIf: - Enabled: false + Exclude: + - 'app/controllers/admin/events_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/controllers/conference_registrations_controller.rb' + - 'app/controllers/proposal_controller.rb' + - 'app/models/conference.rb' + - 'app/models/datatable.rb' + - 'app/models/event.rb' + - 'app/models/venue.rb' + - 'db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb' # Offense count: 18 -# Configuration parameters: EnforcedStyle, SupportedStyles. +# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles. Style/Next: - Enabled: false + Exclude: + - 'app/controllers/admin/events_controller.rb' + - 'app/models/conference.rb' + - 'db/migrate/20140610173021_change_person_id_to_user_id_in_registrations.rb' + - 'db/migrate/20140611123926_change_person_id_to_user_id_in_votes.rb' + - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' + - 'db/migrate/20140731165107_move_conference_contact_details_to_contact.rb' + - 'db/migrate/20140801164901_move_conference_media_to_commercial.rb' + - 'db/migrate/20140801170430_move_event_media_to_commercial.rb' + - 'db/migrate/20140812065531_move_conference_registration_data_to_registration_periods.rb' + - 'db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb' + - 'db/migrate/20140821103643_split_ticket_price_in_price_and_currency.rb' + - 'db/migrate/20140825093132_move_splashpage_attributes_from_conference_to_splashpage.rb' + - 'db/migrate/20141104131625_generate_username.rb' + - 'db/migrate/20141118162030_change_lodging_association_to_conference.rb' + - 'db/migrate/20141128073306_migrate_data_remove_column_include_cfp_in_splash_add_column_include_cfp.rb' # Offense count: 1 # Cop supports --auto-correct. Style/NumericLiterals: MinDigits: 15 -# Offense count: 1 +# Offense count: 3 +Style/OptionalArguments: + Exclude: + - 'app/models/event.rb' + +# Offense count: 3 # Cop supports --auto-correct. # Configuration parameters: AllowSafeAssignment. Style/ParenthesesAroundCondition: - Enabled: false + Exclude: + - 'app/controllers/admin/base_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/helpers/application_helper.rb' -# Offense count: 11 +# Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: PreferredDelimiters. Style/PercentLiteralDelimiters: - Enabled: false + Exclude: + - 'app/serializers/event_serializer.rb' # Offense count: 2 -# Configuration parameters: NamePrefixBlacklist. +# Configuration parameters: NamePrefix, NamePrefixBlacklist. Style/PredicateName: - Enabled: false + Exclude: + - 'app/models/comment.rb' + - 'app/models/contact.rb' -# Offense count: 3 +# Offense count: 6 # Configuration parameters: SupportedStyles. Style/RaiseArgs: EnforcedStyle: compact -# Offense count: 3 +# Offense count: 1 # Cop supports --auto-correct. Style/RedundantBegin: - Enabled: false + Exclude: + - 'app/models/revision_observer.rb' # Offense count: 3 # Cop supports --auto-correct. # Configuration parameters: AllowMultipleReturnValues. Style/RedundantReturn: - Enabled: false + Exclude: + - 'app/helpers/application_helper.rb' -# Offense count: 8 +# Offense count: 33 # Cop supports --auto-correct. Style/RedundantSelf: - Enabled: false + Exclude: + - 'app/models/call_for_paper.rb' + - 'app/models/comment.rb' + - 'app/models/conference.rb' + - 'app/models/event.rb' + - 'app/models/question.rb' + - 'app/models/ticket.rb' + - 'app/models/user.rb' + - 'app/models/venue.rb' -# Offense count: 10 -# Configuration parameters: MaxSlashes. +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes. Style/RegexpLiteral: - Enabled: false - -# Offense count: 1 -Style/SelfAssignment: - Enabled: false + Exclude: + - 'Guardfile' # Offense count: 3 # Cop supports --auto-correct. +Style/SelfAssignment: + Exclude: + - 'app/models/event.rb' + - 'db/migrate/20141104131625_generate_username.rb' + - 'spec/support/save_feature_failures.rb' + +# Offense count: 7 +# Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/SignalException: - Enabled: false - -# Offense count: 1 -# Configuration parameters: Methods. -Style/SingleLineBlockParams: - Enabled: false + Exclude: + - 'app/controllers/admin/base_controller.rb' + - 'app/controllers/application_controller.rb' + - 'app/models/user.rb' + - 'db/migrate/20140730104658_migrate_roles_for_cancancan.rb' + - 'db/migrate/20140820123503_assign_users_to_events.rb' + - 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb' + - 'db/migrate/20150929142405_change_postalcode_format_in_venues.rb' # Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: AllowIfMethodIsEmpty. Style/SingleLineMethods: - Enabled: false + Exclude: + - 'Guardfile' -# Offense count: 285 +# Offense count: 20 # Cop supports --auto-correct. Style/SingleSpaceBeforeFirstArg: - Enabled: false - -# Offense count: 4 -# Cop supports --auto-correct. -Style/SpaceAfterComma: - Enabled: false + Exclude: + - 'app/controllers/conference_registrations_controller.rb' + - 'db/migrate/20121223110942_devise_create_users.rb' + - 'db/migrate/20130107114930_create_versions.rb' + - 'db/migrate/20140719160903_create_delayed_jobs.rb' + - 'spec/features/venues_spec.rb' # Offense count: 4 # Cop supports --auto-correct. @@ -220,12 +361,17 @@ Style/SpaceAfterComma: Style/SpaceAroundEqualsInParameterDefault: Enabled: false -# Offense count: 5 +# Offense count: 11 # Cop supports --auto-correct. +# Configuration parameters: MultiSpaceAllowedForOperators. Style/SpaceAroundOperators: - Enabled: false + Exclude: + - 'app/controllers/application_controller.rb' + - 'app/models/call_for_paper.rb' + - 'app/models/datatable.rb' + - 'db/migrate/20141128073306_migrate_data_remove_column_include_cfp_in_splash_add_column_include_cfp.rb' -# Offense count: 2 +# Offense count: 220 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. Style/SpaceBeforeBlockBraces: @@ -234,38 +380,56 @@ Style/SpaceBeforeBlockBraces: # Offense count: 1 # Cop supports --auto-correct. Style/SpaceBeforeSemicolon: - Enabled: false + Exclude: + - 'Guardfile' -# Offense count: 6 +# Offense count: 28 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. Style/SpaceInsideBlockBraces: Enabled: false -# Offense count: 4 +# Offense count: 15 # Cop supports --auto-correct. Style/SpaceInsideBrackets: - Enabled: false + Exclude: + - 'app/models/conference.rb' + - 'app/models/user.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' + - 'spec/views/admin/events/index.html.haml_spec.rb' -# Offense count: 6 +# Offense count: 8 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SupportedStyles. Style/SpaceInsideHashLiteralBraces: Enabled: false -# Offense count: 1 +# Offense count: 28 +# Cop supports --auto-correct. Style/Tab: - Enabled: false + Exclude: + - 'db/migrate/20141031225545_add_require_handicapped_access_to_questions.rb' + - 'db/migrate/20141031225606_add_attending_with_partner_to_questions.rb' + - 'db/migrate/20141031225620_add_staying_at_suggested_hotel_to_questions.rb' + - 'db/migrate/20141031225635_add_attending_social_events_to_questions.rb' + - 'db/migrate/20141118162030_change_lodging_association_to_conference.rb' + - 'spec/features/campaign_spec.rb' + - 'spec/features/event_types_spec.rb' + - 'spec/models/cfp_spec.rb' -# Offense count: 24 +# Offense count: 26 +# Cop supports --auto-correct. # Configuration parameters: EnforcedStyleForMultiline, SupportedStyles. Style/TrailingComma: - Enabled: false + Exclude: + - 'Guardfile' + - 'app/models/target.rb' + - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' + - 'spec/models/conference_spec.rb' -# Offense count: 8 +# Offense count: 3 # Cop supports --auto-correct. +# Configuration parameters: WordRegex. Style/WordArray: - MinSize: 5 - -Style/AccessorMethodName: - Enabled: false + MinSize: 2 diff --git a/Guardfile b/Guardfile index 3f92b1a3..7032b862 100644 --- a/Guardfile +++ b/Guardfile @@ -8,7 +8,7 @@ guard_opts = { cmd: 'spring rspec' } -def model_specs ; 'spec/models' end +def model_specs ; 'spec/models' end def model_spec(model) "spec/models/#{model}_spec.rb" @@ -44,7 +44,7 @@ end def rspec_guards watch(%r{^spec/factories/.+\.rb$}) { all_specs } watch(%r{^spec/.+_spec\.rb$}) - watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } + watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } end group :rspec do diff --git a/app/controllers/admin/comments_controller.rb b/app/controllers/admin/comments_controller.rb index 874439df..1d235a17 100644 --- a/app/controllers/admin/comments_controller.rb +++ b/app/controllers/admin/comments_controller.rb @@ -22,7 +22,7 @@ module Admin # Grouping all comments by conference, and by event. It returns {:conference => {:event => [{comment_2}, {comment_1 }]}} def grouped_comments(remarks) - remarks.group_by{ |comment| comment.commentable.conference }.map {|conference, comments| [conference, comments.group_by{|comment| comment.commentable}]}.to_h + remarks.group_by{ |comment| comment.commentable.conference }.map {|conference, comments| [conference, comments.group_by(&:commentable)]}.to_h end end end diff --git a/app/controllers/admin/conference_controller.rb b/app/controllers/admin/conference_controller.rb index 89ad9970..d668e776 100644 --- a/app/controllers/admin/conference_controller.rb +++ b/app/controllers/admin/conference_controller.rb @@ -21,7 +21,7 @@ module Admin @active_conferences = Conference.get_active_conferences_for_dashboard # pending or the last two @deactive_conferences = Conference. - get_conferences_without_active_for_dashboard(@active_conferences) # conferences without active + get_conferences_without_active_for_dashboard(@active_conferences) # conferences without active @conferences = @active_conferences + @deactive_conferences @recent_users = User.limit(5).order(created_at: :desc) @@ -102,7 +102,7 @@ module Admin @total_submissions = @conference.events.count @new_submissions = @conference.events. - where('created_at > ?', current_user.last_sign_in_at).count + where('created_at > ?', current_user.last_sign_in_at).count @program_length = @conference.current_program_hours @new_program_length = @conference.new_program_hours(current_user.last_sign_in_at) @@ -135,7 +135,7 @@ module Admin @difficulty_levels_distribution = @conference.difficulty_levels_distribution @difficulty_levels_distribution_confirmed = @conference. - difficulty_levels_distribution(:confirmed) + difficulty_levels_distribution(:confirmed) @tracks_distribution = @conference.tracks_distribution @tracks_distribution_confirmed = @conference.tracks_distribution(:confirmed) diff --git a/app/controllers/admin/emails_controller.rb b/app/controllers/admin/emails_controller.rb index b0f0a26c..fa6a43b6 100644 --- a/app/controllers/admin/emails_controller.rb +++ b/app/controllers/admin/emails_controller.rb @@ -6,7 +6,7 @@ module Admin def update @conference.email_settings.update_attributes(params[:email_settings]) redirect_to(admin_conference_emails_path( - @conference.short_title), + @conference.short_title), notice: 'Settings have been successfully updated.') end diff --git a/app/controllers/admin/events_controller.rb b/app/controllers/admin/events_controller.rb index 2334531d..eacb5ccb 100644 --- a/app/controllers/admin/events_controller.rb +++ b/app/controllers/admin/events_controller.rb @@ -106,7 +106,7 @@ module Admin def update if @event.submitter.update_attributes(params[:user]) && - @event.update_attributes(params[:event]) + @event.update_attributes(params[:event]) if request.xhr? render js: 'index' diff --git a/app/controllers/admin/questions_controller.rb b/app/controllers/admin/questions_controller.rb index b55ff496..ce07103a 100644 --- a/app/controllers/admin/questions_controller.rb +++ b/app/controllers/admin/questions_controller.rb @@ -73,12 +73,9 @@ module Admin # Delete question and its answers begin Question.transaction do - @question.destroy - @question.answers.each do |a| - a.destroy - end - flash[:notice] = "Deleted question: #{@question.title} and its answers: #{@question.answers.map {|a| a.title}.join ','}" + @question.answers.each(&:destroy) + flash[:notice] = "Deleted question: #{@question.title} and its answers: #{@question.answers.map(&:title).join ','}" end rescue ActiveRecord::RecordInvalid flash[:error] = 'Could not delete question.' diff --git a/app/controllers/admin/registrations_controller.rb b/app/controllers/admin/registrations_controller.rb index 70abe4a1..54b1c112 100644 --- a/app/controllers/admin/registrations_controller.rb +++ b/app/controllers/admin/registrations_controller.rb @@ -53,14 +53,14 @@ module Admin def registration_params params.require(:registration). - permit( - :conference_id, :arrival, :departure, - :volunteer, - vchoice_ids: [], qanswer_ids: [], event_ids: [], - qanswers_attributes: [], - user_attributes: [ - :id, :name, :tshirt, :mobile, :volunteer_experience, :languages, - :nickname, :affiliation]) + permit( + :conference_id, :arrival, :departure, + :volunteer, + vchoice_ids: [], qanswer_ids: [], event_ids: [], + qanswers_attributes: [], + user_attributes: [ + :id, :name, :tshirt, :mobile, :volunteer_experience, :languages, + :nickname, :affiliation]) end end end diff --git a/app/controllers/admin/sponsors_controller.rb b/app/controllers/admin/sponsors_controller.rb index 64db50d9..b7b5662e 100644 --- a/app/controllers/admin/sponsors_controller.rb +++ b/app/controllers/admin/sponsors_controller.rb @@ -27,7 +27,7 @@ module Admin def update if @sponsor.update_attributes(sponsor_params) redirect_to(admin_conference_sponsors_path( - conference_id: @conference.short_title), + conference_id: @conference.short_title), notice: 'Sponsor successfully updated.') else flash[:error] = "Update sponsor failed: #{@sponsor.errors.full_messages.join('. ')}." diff --git a/app/controllers/admin/sponsorship_levels_controller.rb b/app/controllers/admin/sponsorship_levels_controller.rb index a4f0095b..fe1b29a8 100644 --- a/app/controllers/admin/sponsorship_levels_controller.rb +++ b/app/controllers/admin/sponsorship_levels_controller.rb @@ -27,7 +27,7 @@ module Admin def update if @sponsorship_level.update_attributes(sponsorship_level_params) redirect_to(admin_conference_sponsorship_levels_path( - conference_id: @conference.short_title), + conference_id: @conference.short_title), notice: 'Sponsorship level successfully updated.') else flash[:error] = "Update Sponsorship level failed: #{@sponsorship_level.errors.full_messages.join('. ')}." diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index df6bedff..91e8655c 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -25,9 +25,9 @@ class ApplicationController < ActionController::Base def after_sign_in_path_for(_resource) if (can? :view, Conference) && - (!session[:return_to] || - session[:return_to] && - session[:return_to] == root_path) + (!session[:return_to] || + session[:return_to] && + session[:return_to] == root_path) admin_conference_index_path else session[:return_to] || root_path diff --git a/app/controllers/conference_registrations_controller.rb b/app/controllers/conference_registrations_controller.rb index 23e3cf1a..4ca6456b 100644 --- a/app/controllers/conference_registrations_controller.rb +++ b/app/controllers/conference_registrations_controller.rb @@ -59,7 +59,7 @@ class ConferenceRegistrationsController < ApplicationController if @conference.tickets.any? && !current_user.supports?(@conference) redirect_to conference_tickets_path(@conference.short_title) else - redirect_to conference_conference_registrations_path(@conference.short_title) + redirect_to conference_conference_registrations_path(@conference.short_title) end else flash[:error] = "Could not create your registration for #{@conference.title}: "\ @@ -106,14 +106,14 @@ class ConferenceRegistrationsController < ApplicationController def registration_params params.require(:registration). - permit( - :conference_id, :arrival, :departure, - :volunteer, - vchoice_ids: [], qanswer_ids: [], - qanswers_attributes: [], - event_ids: [], - user_attributes: [ - :username, :email, :name, :password, :password_confirmation] - ) + permit( + :conference_id, :arrival, :departure, + :volunteer, + vchoice_ids: [], qanswer_ids: [], + qanswers_attributes: [], + event_ids: [], + user_attributes: [ + :username, :email, :name, :password, :password_confirmation] + ) end end diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb index 62292bf0..fe69282f 100644 --- a/app/controllers/registrations_controller.rb +++ b/app/controllers/registrations_controller.rb @@ -24,11 +24,11 @@ class RegistrationsController < Devise::RegistrationsController def configure_permitted_parameters devise_parameter_sanitizer.for(:account_update) do |u| u. - permit(:email, :password, :password_confirmation, :current_password, :username) + permit(:email, :password, :password_confirmation, :current_password, :username) end devise_parameter_sanitizer.for(:sign_up) do |u| u. - permit(:email, :password, :password_confirmation, :name, :username) + permit(:email, :password, :password_confirmation, :name, :username) end end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 4c72b3dc..95675cd5 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -184,7 +184,7 @@ module ApplicationHelper end def event_types(conference) - all = conference.event_types.map { |et | et.title.pluralize } + all = conference.event_types.map { |et| et.title.pluralize } first = all[0...-1] last = all[-1] ets = '' @@ -198,7 +198,7 @@ module ApplicationHelper end def tracks(conference) - all = conference.tracks.map {|t| t.name} + all = conference.tracks.map(&:name) first = all[0...-1] last = all[-1] ts = '' @@ -215,7 +215,7 @@ module ApplicationHelper def word_pluralize(count, singular, plural = nil) word = if (count == 1 || count =~ /^1(\.0+)?$/) singular - else + else plural || singular.pluralize end diff --git a/app/models/ability.rb b/app/models/ability.rb index bd30a8fd..6783b685 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -50,12 +50,8 @@ class Ability can :show, Commercial, commercialable_type: 'Event', commercialable_id: Event.where(state: 'confirmed').pluck(:id) can :show, User unless CONFIG['authentication']['ichain']['enabled'] - can [:show, :create], Registration do |registration| - registration.new_record? - end - can [:show, :create], Event do |event| - event.new_record? - end + can [:show, :create], Registration, &:new_record? + can [:show, :create], Event, &:new_record? end end diff --git a/app/models/call_for_paper.rb b/app/models/call_for_paper.rb index 0d4f6ab1..c96406ee 100644 --- a/app/models/call_for_paper.rb +++ b/app/models/call_for_paper.rb @@ -49,6 +49,7 @@ class CallForPaper < ActiveRecord::Base && !self.conference.email_settings.call_for_papers_dates_updates_subject.blank?\ && !self.conference.email_settings.call_for_papers_dates_updates_template.blank? end + ## # Checks whether cfp dates is updated # @@ -72,14 +73,14 @@ class CallForPaper < ActiveRecord::Base def before_end_of_conference errors. - add(:end_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && end_date && (end_date > conference.end_date) + add(:end_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && end_date && (end_date > conference.end_date) errors. - add(:start_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && start_date && (start_date > conference.end_date) + add(:start_date, "can't be after the conference end date (#{conference.end_date})") if conference && conference.end_date && start_date && (start_date > conference.end_date) end def start_after_end_date errors. - add(:start_date, "can't be after the end date") if start_date && end_date && start_date > end_date + add(:start_date, "can't be after the end date") if start_date && end_date && start_date > end_date end end diff --git a/app/models/conference.rb b/app/models/conference.rb index 3c6f20b2..ecac42e7 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -1,6 +1,6 @@ ## # This class represents a conference -# rubocop:disable Style/ClassLength +# rubocop:disable Metrics/ClassLength class Conference < ActiveRecord::Base require 'uri' serialize :events_per_week, Hash @@ -218,7 +218,7 @@ class Conference < ActiveRecord::Base result[state] = pad_array_left_not_kumulative(start_week, values) end end - result['Weeks'] = weeks > 0 ? (1..weeks).to_a : 0 + result['Weeks'] = weeks > 0 ? (1..weeks).to_a : 0 end result end @@ -232,9 +232,9 @@ class Conference < ActiveRecord::Base result = [] if registrations && - registration_period && - registration_period.start_date && - registration_period.end_date + registration_period && + registration_period.start_date && + registration_period.end_date reg = registrations.group(:week).count start_week = get_registration_start_week @@ -253,10 +253,10 @@ class Conference < ActiveRecord::Base result = 0 weeks = 0 if registration_period && - registration_period.start_date && - registration_period.end_date + registration_period.start_date && + registration_period.end_date weeks = Date.new(registration_period.start_date.year, 12, 31). - strftime('%W').to_i + strftime('%W').to_i result = get_registration_end_week - get_registration_start_week + 1 end @@ -353,8 +353,8 @@ class Conference < ActiveRecord::Base # * +hash+ -> user: submissions def get_top_submitter(limit = 5) submitter = EventUser.joins(:event). - where('event_role = ? and conference_id = ?', 'submitter', id). - limit(limit).group(:user_id) + where('event_role = ? and conference_id = ?', 'submitter', id). + limit(limit).group(:user_id) counter = submitter.order('count_all desc').count Conference.calculate_user_submission_hash(submitter, counter) end @@ -476,12 +476,12 @@ class Conference < ActiveRecord::Base # * +ActiveRecord+ def self.get_active_conferences_for_dashboard result = Conference.where('start_date > ?', Time.now). - select('id, short_title, color, start_date') + select('id, short_title, color, start_date') if result.length == 0 result = Conference. - select('id, short_title, color, start_date').limit(2). - order(start_date: :desc) + select('id, short_title, color, start_date').limit(2). + order(start_date: :desc) end result end @@ -570,9 +570,9 @@ class Conference < ActiveRecord::Base # * +False+ -> Either conference is not updated or one or more parameter is not set def notify_on_dates_changed? (self.start_date_changed? || self.end_date_changed?) && - self.email_settings.send_on_updated_conference_dates && - !self.email_settings.updated_conference_dates_subject.blank? && - self.email_settings.updated_conference_dates_template + self.email_settings.send_on_updated_conference_dates && + !self.email_settings.updated_conference_dates_subject.blank? && + self.email_settings.updated_conference_dates_template end ## @@ -583,10 +583,10 @@ class Conference < ActiveRecord::Base # * +False+ -> Either registration date is not updated or one or more parameter is not set def notify_on_registration_dates_changed? registration_period && - (registration_period.start_date_changed? || registration_period.end_date_changed?) && - email_settings.send_on_updated_conference_registration_dates && - !email_settings.updated_conference_registration_dates_subject.blank? && - email_settings.updated_conference_registration_dates_template + (registration_period.start_date_changed? || registration_period.end_date_changed?) && + email_settings.send_on_updated_conference_registration_dates && + !email_settings.updated_conference_registration_dates_subject.blank? && + email_settings.updated_conference_registration_dates_template end private diff --git a/app/models/datatable.rb b/app/models/datatable.rb index 03ec9038..b3a49f6c 100644 --- a/app/models/datatable.rb +++ b/app/models/datatable.rb @@ -74,7 +74,7 @@ class Datatable def sort_order colnum = 0 sort_by = [] - while true + loop do break if !sorted?(colnum) sort_by << "#{sort_column(colnum)} #{sort_direction(colnum)}" colnum += 1 diff --git a/app/models/email_settings.rb b/app/models/email_settings.rb index 5642b4da..8c8de4c2 100644 --- a/app/models/email_settings.rb +++ b/app/models/email_settings.rb @@ -20,12 +20,12 @@ class EmailSettings < ActiveRecord::Base 'conference_start_date' => conference.start_date, 'conference_end_date' => conference.end_date, 'registrationlink' => Rails.application.routes.url_helpers.conference_conference_registrations_url( - conference.short_title, host: CONFIG['url_for_emails']), + conference.short_title, host: CONFIG['url_for_emails']), 'conference_splash_link' => Rails.application.routes.url_helpers.conference_url( - conference.short_title, host: CONFIG['url_for_emails']), + conference.short_title, host: CONFIG['url_for_emails']), 'schedule_link' => Rails.application.routes.url_helpers.schedule_conference_url( - conference.short_title, host: CONFIG['url_for_emails']) + conference.short_title, host: CONFIG['url_for_emails']) } if conference.call_for_paper @@ -52,7 +52,7 @@ class EmailSettings < ActiveRecord::Base if event h['eventtitle'] = event.title h['proposalslink'] = Rails.application.routes.url_helpers.conference_proposal_index_url( - conference.short_title, host: CONFIG['url_for_emails']) + conference.short_title, host: CONFIG['url_for_emails']) end h end diff --git a/app/models/event.rb b/app/models/event.rb index 7cd75a89..d26bbac8 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -112,8 +112,8 @@ class Event < ActiveRecord::Base def process_confirmation if conference.email_settings.send_on_confirmed_without_registration? && - conference.email_settings.confirmed_email_template && - conference.email_settings.confirmed_without_registration_subject + conference.email_settings.confirmed_email_template && + conference.email_settings.confirmed_without_registration_subject if conference.registrations.where(user_id: submitter.id).first.nil? Mailbot.delay.confirm_reminder_mail(self) end @@ -122,9 +122,9 @@ class Event < ActiveRecord::Base def process_acceptance(options) if conference.email_settings.send_on_accepted && - conference.email_settings.accepted_email_template && - conference.email_settings.accepted_subject && - !options[:send_mail].blank? + conference.email_settings.accepted_email_template && + conference.email_settings.accepted_subject && + !options[:send_mail].blank? Rails.logger.debug 'Sending event acceptance mail' Mailbot.delay.acceptance_mail(self) end @@ -132,9 +132,9 @@ class Event < ActiveRecord::Base def process_rejection(options) if conference.email_settings.send_on_rejected && - conference.email_settings.rejected_email_template && - conference.email_settings.rejected_subject && - !options[:send_mail].blank? + conference.email_settings.rejected_email_template && + conference.email_settings.rejected_subject && + !options[:send_mail].blank? Rails.logger.debug 'Sending rejected mail' Mailbot.delay.rejection_mail(self) end @@ -244,7 +244,7 @@ class Event < ActiveRecord::Base def before_end_of_conference errors. - add(:created_at, "can't be after the conference end date!") if conference.end_date && - (Date.today > conference.end_date) + add(:created_at, "can't be after the conference end date!") if conference.end_date && + (Date.today > conference.end_date) end end diff --git a/app/models/target.rb b/app/models/target.rb index 19ee677e..efd171dd 100644 --- a/app/models/target.rb +++ b/app/models/target.rb @@ -58,7 +58,7 @@ class Target < ActiveRecord::Base numerator = conference.current_program_minutes end - progress = (numerator / target_count.to_f * 100).round(0).to_s + progress = (numerator / target_count.to_f * 100).round(0).to_s result = { 'target_name' => to_s, 'campaign_name' => campaign.name, diff --git a/app/models/ticket.rb b/app/models/ticket.rb index 54c54667..bea9d2a6 100644 --- a/app/models/ticket.rb +++ b/app/models/ticket.rb @@ -38,7 +38,7 @@ class Ticket < ActiveRecord::Base tickets.each do |ticket| price = ticket.total_price(user) if result - result += price unless price.zero? + result += price unless price.zero? else result = price end diff --git a/app/models/user.rb b/app/models/user.rb index 568a1c89..b17f5211 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -134,7 +134,7 @@ class User < ActiveRecord::Base result = {} Role::ACTIONABLES.each do |role| resources = self.roles.where(name: role.parameterize.underscore).map{ |myrole| Conference.find(myrole.resource_id).short_title }.join ', ' - result[role.parameterize.underscore] = "(#{ resources })" unless resources.blank? + result[role.parameterize.underscore] = "(#{resources})" unless resources.blank? end result end diff --git a/app/models/venue.rb b/app/models/venue.rb index 7177bbd7..a0498424 100644 --- a/app/models/venue.rb +++ b/app/models/venue.rb @@ -33,10 +33,10 @@ class Venue < ActiveRecord::Base def venue_notify?(conference) (self.name_changed? || self.street_changed?) && - (!self.name.blank? && !self.street.blank?) && - (conference.email_settings.send_on_venue_update && - !conference.email_settings.venue_update_subject.blank? && - conference.email_settings.venue_update_template) + (!self.name.blank? && !self.street.blank?) && + (conference.email_settings.send_on_venue_update && + !conference.email_settings.venue_update_subject.blank? && + conference.email_settings.venue_update_template) end # TODO: create a module to be mixed into model to perform same operation diff --git a/bin/setup b/bin/setup index acdb2c13..eb347f96 100755 --- a/bin/setup +++ b/bin/setup @@ -2,15 +2,15 @@ require 'pathname' # path to your application root. -APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) Dir.chdir APP_ROOT do # This script is a starting point to setup your application. # Add necessary setup steps to this file: - puts "== Installing dependencies ==" - system "gem install bundler --conservative" - system "bundle check || bundle install" + puts '== Installing dependencies ==' + system 'gem install bundler --conservative' + system 'bundle check || bundle install' # puts "\n== Copying sample files ==" # unless File.exist?("config/database.yml") @@ -18,12 +18,12 @@ Dir.chdir APP_ROOT do # end puts "\n== Preparing database ==" - system "bin/rake db:setup" + system 'bin/rake db:setup' puts "\n== Removing old logs and tempfiles ==" - system "rm -f log/*" - system "rm -rf tmp/cache" + system 'rm -f log/*' + system 'rm -rf tmp/cache' puts "\n== Restarting application server ==" - system "touch tmp/restart.txt" + system 'touch tmp/restart.txt' end diff --git a/config.ru b/config.ru index 988dac89..5d29dc52 100644 --- a/config.ru +++ b/config.ru @@ -1,4 +1,4 @@ # This file is used by Rack-based servers to start the application. -require ::File.expand_path('../config/environment', __FILE__) +require ::File.expand_path('../config/environment', __FILE__) run Osem::Application diff --git a/db/migrate/20140623101032_create_ahoy_events.rb b/db/migrate/20140623101032_create_ahoy_events.rb index c865a59c..be2625e1 100644 --- a/db/migrate/20140623101032_create_ahoy_events.rb +++ b/db/migrate/20140623101032_create_ahoy_events.rb @@ -1,6 +1,6 @@ class CreateAhoyEvents < ActiveRecord::Migration def change - create_table :ahoy_events do |t| + create_table :ahoy_events do |t| t.uuid :visit_id # user t.integer :user_id diff --git a/db/migrate/20140701123203_add_events_per_week_to_conference.rb b/db/migrate/20140701123203_add_events_per_week_to_conference.rb index 5c2eb9d4..8c8055c6 100644 --- a/db/migrate/20140701123203_add_events_per_week_to_conference.rb +++ b/db/migrate/20140701123203_add_events_per_week_to_conference.rb @@ -42,12 +42,12 @@ class AddEventsPerWeekToConference < ActiveRecord::Migration end if event_version.object_changes && - event_version.event == 'create' + event_version.event == 'create' # Increment the new state conference.events_per_week[week][:new] += 1 elsif event_version.object_changes && - event_version.object_changes[:state] + event_version.object_changes[:state] prev_state = event_version.object_changes[:state][0].to_sym next_state = event_version.object_changes[:state][1].to_sym @@ -55,7 +55,7 @@ class AddEventsPerWeekToConference < ActiveRecord::Migration # Backward compatibility: deprecated state :review now :new if prev_state == :review prev_state = :new - elsif next_state == :review + elsif next_state == :review next_state = :new end diff --git a/db/migrate/20140719160903_create_delayed_jobs.rb b/db/migrate/20140719160903_create_delayed_jobs.rb index ee7515c2..4c630643 100644 --- a/db/migrate/20140719160903_create_delayed_jobs.rb +++ b/db/migrate/20140719160903_create_delayed_jobs.rb @@ -3,7 +3,7 @@ class CreateDelayedJobs < ActiveRecord::Migration create_table :delayed_jobs, force: true do |table| table.integer :priority, default: 0, null: false # Allows some jobs to jump to the front of the queue table.integer :attempts, default: 0, null: false # Provides for retries, but still fail eventually. - table.text :handler, null: false # YAML-encoded string of the object that will do work + table.text :handler, null: false # YAML-encoded string of the object that will do work table.text :last_error # reason for last failure (See Note below) table.datetime :run_at # When to run. Could be Time.zone.now for immediately, or sometime in the future. table.datetime :locked_at # Set when a client is working on this object diff --git a/db/migrate/20140730104658_migrate_roles_for_cancancan.rb b/db/migrate/20140730104658_migrate_roles_for_cancancan.rb index d4259863..fffcc272 100644 --- a/db/migrate/20140730104658_migrate_roles_for_cancancan.rb +++ b/db/migrate/20140730104658_migrate_roles_for_cancancan.rb @@ -17,9 +17,7 @@ class MigrateRolesForCancancan < ActiveRecord::Migration end # Delete old roles - Role.first(old_roles).each do |role| - role.destroy - end + Role.first(old_roles).each(&:destroy) end def down diff --git a/db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb b/db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb index e3208691..9347a037 100644 --- a/db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb +++ b/db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb @@ -42,9 +42,9 @@ class MigratingSupporterRegistrationsToTicketUsers < ActiveRecord::Migration # Sum up if a user has bought more than one ticket TempSupporterRegistrations.all.each do |s| sup_reg = TempSupporterRegistrations.where( - ticket_id: s.ticket_id, - user_id: s.user_id, - conference_id: s.conference_id) + ticket_id: s.ticket_id, + user_id: s.user_id, + conference_id: s.conference_id) quantity = sup_reg.count if quantity > 1 diff --git a/spec/controllers/admin/comments_controller_spec.rb b/spec/controllers/admin/comments_controller_spec.rb index ac75b189..38099ba3 100644 --- a/spec/controllers/admin/comments_controller_spec.rb +++ b/spec/controllers/admin/comments_controller_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Admin::CommentsController, type: :controller do - # It is necessary to use bang version of let to build roles before user let(:conference) { create(:conference) } let!(:first_user) { create(:user) } diff --git a/spec/controllers/admin/conferences_controller_spec.rb b/spec/controllers/admin/conferences_controller_spec.rb index 4e2f0d78..4e2bc024 100644 --- a/spec/controllers/admin/conferences_controller_spec.rb +++ b/spec/controllers/admin/conferences_controller_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Admin::ConferenceController do - # It is necessary to use bang version of let to build roles before user let(:conference) { create(:conference, end_date: Date.new(2014, 05, 26) + 15) } let!(:first_user) { create(:user) } @@ -12,11 +11,8 @@ describe Admin::ConferenceController do let(:participant) { create(:user) } shared_examples 'access as organizer' do - describe 'PATCH #update' do - context 'valid attributes' do - it 'locates the requested conference' do patch :update, id: conference.short_title, conference: attributes_for(:conference, title: 'Example Con') expect(assigns(:conference)).to eq(conference) @@ -37,7 +33,7 @@ describe Admin::ConferenceController do attributes_for(:conference, title: 'Example Con') conference.reload expect(response).to redirect_to edit_admin_conference_path( - conference.short_title) + conference.short_title) end it 'sends email notification on conference date update' do @@ -58,7 +54,7 @@ describe Admin::ConferenceController do conference.reload expect(flash[:alert]). - to eq("Updating conference failed. Short title can't be blank.") + to eq("Updating conference failed. Short title can't be blank.") expect(conference.title).to eq('The dog and pony show') expect(conference.short_title).to eq("#{conference.short_title}") end @@ -69,9 +65,9 @@ describe Admin::ConferenceController do short_title: nil) expect(flash[:alert]). - to eq("Updating conference failed. Short title can't be blank.") + to eq("Updating conference failed. Short title can't be blank.") expect(response).to redirect_to edit_admin_conference_path( - conference.short_title) + conference.short_title) end end end @@ -91,7 +87,7 @@ describe Admin::ConferenceController do attributes_for(:conference, short_title: 'dps15') expect(response).to redirect_to admin_conference_path( - assigns[:conference].short_title) + assigns[:conference].short_title) end end @@ -181,9 +177,7 @@ describe Admin::ConferenceController do context 'no conferences' do it 'redirect to new conference' do - Conference.all.each do |c| - c.destroy - end + Conference.all.each(&:destroy) sign_in create(:admin) get :index expect(response).to redirect_to new_admin_conference_path @@ -289,7 +283,6 @@ describe Admin::ConferenceController do describe 'DELETE #remove_user' do before(:each) do - end it 'sets selection variable' do @@ -329,13 +322,11 @@ describe Admin::ConferenceController do end describe 'organizer access' do - before do sign_in(organizer) end it_behaves_like 'access as organizer' - end shared_examples 'access as participant or guest' do |path, message| @@ -399,12 +390,9 @@ describe Admin::ConferenceController do end it_behaves_like 'access as participant or guest', :root_path, 'You are not authorized to access this area!' - end describe 'guest access' do - it_behaves_like 'access as participant or guest', :new_user_session_path - end end diff --git a/spec/controllers/admin/registration_periods_controller_spec.rb b/spec/controllers/admin/registration_periods_controller_spec.rb index 982ae938..185a6197 100644 --- a/spec/controllers/admin/registration_periods_controller_spec.rb +++ b/spec/controllers/admin/registration_periods_controller_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Admin::RegistrationPeriodsController do - # It is necessary to use bang version of let to build roles before user let(:conference) { create(:conference) } let!(:first_user) { create(:user) } @@ -12,15 +11,12 @@ describe Admin::RegistrationPeriodsController do let(:participant) { create(:user) } shared_examples 'access as administration or organizer' do - before do conference.registration_period = create(:registration_period) end describe 'PATCH #update' do - context 'valid attributes' do - it 'locates the requested registration period object' do patch :update, conference_id: conference.short_title, conference: attributes_for(:registration_period) expect(assigns(:registration_period)).to eq(conference.registration_period) @@ -40,7 +36,7 @@ describe Admin::RegistrationPeriodsController do attributes_for(:registration_period) conference.reload expect(response).to redirect_to admin_conference_registration_period_path( - conference.short_title) + conference.short_title) end it 'sends email notification on conference registration date update' do @@ -78,7 +74,7 @@ describe Admin::RegistrationPeriodsController do registration_period: attributes_for(:registration_period) expect(response).to redirect_to admin_conference_registration_period_path( - assigns[:conference].short_title) + assigns[:conference].short_title) end end @@ -153,12 +149,10 @@ describe Admin::RegistrationPeriodsController do end describe 'organizer access' do - before(:each) do sign_in(organizer) end it_behaves_like 'access as administration or organizer' - end end diff --git a/spec/controllers/admin/users_controller_spec.rb b/spec/controllers/admin/users_controller_spec.rb index 1a9b9569..5d098b6f 100644 --- a/spec/controllers/admin/users_controller_spec.rb +++ b/spec/controllers/admin/users_controller_spec.rb @@ -28,7 +28,7 @@ describe Admin::UsersController do patch :update, id: user.id expect(build( :user, email: 'new@email.osem', id: user.id).email). - to eq('new@email.osem') + to eq('new@email.osem') end it 'redirects to the updated user' do patch :update, id: user.id diff --git a/spec/controllers/conference_controller_spec.rb b/spec/controllers/conference_controller_spec.rb index 2b60b544..745a0896 100644 --- a/spec/controllers/conference_controller_spec.rb +++ b/spec/controllers/conference_controller_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe ConferenceController do - let(:conference) { create(:conference, splashpage: create(:splashpage, public: true)) } + let(:conference) { create(:conference, splashpage: create(:splashpage, public: true)) } describe 'GET #index' do it 'Response code is 200' do @@ -30,5 +30,4 @@ describe ConferenceController do expect(response.response_code).to eq(200) end end - end diff --git a/spec/factories/difficulty_levels.rb b/spec/factories/difficulty_levels.rb index af675c86..104aaaab 100644 --- a/spec/factories/difficulty_levels.rb +++ b/spec/factories/difficulty_levels.rb @@ -5,5 +5,4 @@ FactoryGirl.define do color '#ffffff' conference end - end diff --git a/spec/factories/event_types.rb b/spec/factories/event_types.rb index 2601783c..d3cd4510 100644 --- a/spec/factories/event_types.rb +++ b/spec/factories/event_types.rb @@ -8,5 +8,4 @@ FactoryGirl.define do maximum_abstract_length 500 conference end - end diff --git a/spec/factories/events.rb b/spec/factories/events.rb index 6dc89b22..3dd10cd4 100644 --- a/spec/factories/events.rb +++ b/spec/factories/events.rb @@ -50,6 +50,5 @@ FactoryGirl.define do event.comment_threads << build(:comment, commentable: event) end end - end end diff --git a/spec/factories/roles.rb b/spec/factories/roles.rb index e6d29d75..862732fc 100644 --- a/spec/factories/roles.rb +++ b/spec/factories/roles.rb @@ -1,6 +1,5 @@ FactoryGirl.define do factory :role do - factory :organizer_role do name 'organizer' end diff --git a/spec/factories/social_events.rb b/spec/factories/social_events.rb index 46088701..da422d30 100644 --- a/spec/factories/social_events.rb +++ b/spec/factories/social_events.rb @@ -5,5 +5,4 @@ FactoryGirl.define do date { Date.today } conference end - end diff --git a/spec/factories/splashpages.rb b/spec/factories/splashpages.rb index 2d6ea303..6b58e158 100644 --- a/spec/factories/splashpages.rb +++ b/spec/factories/splashpages.rb @@ -2,6 +2,6 @@ FactoryGirl.define do factory :splashpage do - public false + public false end end diff --git a/spec/factories/subscriptions.rb b/spec/factories/subscriptions.rb index 0816b70f..6fd3bf8f 100644 --- a/spec/factories/subscriptions.rb +++ b/spec/factories/subscriptions.rb @@ -3,5 +3,4 @@ FactoryGirl.define do user conference end - end diff --git a/spec/factories/tracks.rb b/spec/factories/tracks.rb index 7f3e1ecf..93ba4591 100644 --- a/spec/factories/tracks.rb +++ b/spec/factories/tracks.rb @@ -5,5 +5,4 @@ FactoryGirl.define do color '#ffffff' conference end - end diff --git a/spec/factories/vdays.rb b/spec/factories/vdays.rb index 08aff069..d01c97ae 100644 --- a/spec/factories/vdays.rb +++ b/spec/factories/vdays.rb @@ -4,5 +4,4 @@ FactoryGirl.define do description 'Lorem Ipsum dolsum' conference end - end diff --git a/spec/factories/vpositions.rb b/spec/factories/vpositions.rb index 6bfcc769..021bb69e 100644 --- a/spec/factories/vpositions.rb +++ b/spec/factories/vpositions.rb @@ -8,5 +8,4 @@ FactoryGirl.define do vposition.vdays << build(:vday, conference: vposition.conference) end end - end diff --git a/spec/features/campaign_spec.rb b/spec/features/campaign_spec.rb index d1043f5d..f822fc24 100644 --- a/spec/features/campaign_spec.rb +++ b/spec/features/campaign_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' feature Campaign do - let!(:conference) { create(:conference, short_title: 'osc14') } let!(:organizer_role) { create(:organizer_role, resource: conference) } let!(:organizer) { create(:user, role_ids: [organizer_role.id]) } @@ -18,7 +17,7 @@ feature Campaign do click_button 'Create Campaign' expect(flash). - to eq("Campaign creation failed. Name can't be blank and Utm campaign can't be blank") + to eq("Campaign creation failed. Name can't be blank and Utm campaign can't be blank") fill_in 'campaign_name', with: 'Test Campaign' fill_in 'campaign_utm_campaign', with: 'campaign' @@ -31,7 +30,7 @@ feature Campaign do # Validations expect(flash). - to eq('Campaign successfully created.') + to eq('Campaign successfully created.') expect(find('#name_1').text).to eq('Test Campaign') expect(find('#visits_1').text).to eq('0') @@ -46,7 +45,7 @@ feature Campaign do fill_in 'campaign_name', with: 'Test Campaign 42' click_button 'Update Campaign' expect(flash). - to eq("Campaign 'Test Campaign 42' successfully updated.") + to eq("Campaign 'Test Campaign 42' successfully updated.") end end diff --git a/spec/features/cfp_spec.rb b/spec/features/cfp_spec.rb index d9610dcf..a35dee2e 100644 --- a/spec/features/cfp_spec.rb +++ b/spec/features/cfp_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' feature Conference do - let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } let!(:organizer) { create(:user, role_ids: [organizer_role.id]) } @@ -17,14 +16,14 @@ feature Conference do click_button 'Create Call for paper' expect(flash). - to eq('Creating the call for papers failed. ' + + to eq('Creating the call for papers failed. ' + "Start date can't be blank. End date can't be blank.") today = Date.today - 1 page.execute_script( - "$('#conference-start-datepicker').val('#{today.strftime('%d/%m/%Y')}')") + "$('#conference-start-datepicker').val('#{today.strftime('%d/%m/%Y')}')") page.execute_script( - "$('#conference-end-datepicker').val('#{(today + 6).strftime('%d/%m/%Y')}')") + "$('#conference-end-datepicker').val('#{(today + 6).strftime('%d/%m/%Y')}')") fill_in 'call_for_paper_rating', with: '4' @@ -32,7 +31,7 @@ feature Conference do # Validations expect(flash). - to eq('Call for papers successfully created.') + to eq('Call for papers successfully created.') expect(find('#start_date').text).to eq(today.strftime('%A, %B %-d. %Y')) expect(find('#end_date').text).to eq((today + 6).strftime('%A, %B %-d. %Y')) expect(find('#rating').text).to eq('4') @@ -50,10 +49,10 @@ feature Conference do # Validate update with empty start date will not saved page.execute_script( - "$('#conference-start-datepicker').val('')") + "$('#conference-start-datepicker').val('')") click_button 'Update Call for paper' expect(flash). - to eq('Updating call for papers failed. ' + + to eq('Updating call for papers failed. ' + "Start date can't be blank.") # Fill in date @@ -68,7 +67,7 @@ feature Conference do # Validations expect(flash). - to eq('Call for papers successfully updated.') + to eq('Call for papers successfully updated.') expect(find('#start_date').text).to eq(today.strftime('%A, %B %-d. %Y')) expect(find('#end_date').text).to eq((today + 14).strftime('%A, %B %-d. %Y')) expect(find('#rating').text).to eq('0') diff --git a/spec/features/conference_spec.rb b/spec/features/conference_spec.rb index 2aa49733..7066f5e2 100644 --- a/spec/features/conference_spec.rb +++ b/spec/features/conference_spec.rb @@ -16,16 +16,16 @@ feature Conference do today = Date.today - 1 page. - execute_script("$('#conference-start-datepicker').val('" + + execute_script("$('#conference-start-datepicker').val('" + "#{today.strftime('%d/%m/%Y')}')") page. - execute_script("$('#conference-end-datepicker').val('" + + execute_script("$('#conference-end-datepicker').val('" + "#{(today + 7).strftime('%d/%m/%Y')}')") click_button 'Create Conference' expect(flash). - to eq('Conference was successfully created.') + to eq('Conference was successfully created.') expect(Conference.count).to eq(expected_count) expect(user.has_role? :organizer, Conference.last).to eq(true) @@ -46,22 +46,22 @@ feature Conference do click_button 'Update Conference' expect(flash). - to eq("Updating conference failed. Short title can't be blank.") + to eq("Updating conference failed. Short title can't be blank.") fill_in 'conference_title', with: 'New Con' fill_in 'conference_short_title', with: 'NewCon' day = Date.today + 10 page. - execute_script("$('#conference-start-datepicker').val('" + + execute_script("$('#conference-start-datepicker').val('" + "#{day.strftime('%d/%m/%Y')}')") page. - execute_script("$('#conference-end-datepicker').val('" + + execute_script("$('#conference-end-datepicker').val('" + "#{(day + 7).strftime('%d/%m/%Y')}')") click_button 'Update Conference' expect(flash). - to eq('Conference was successfully updated.') + to eq('Conference was successfully updated.') conference.reload expect(conference.title).to eq('New Con') diff --git a/spec/features/contact_spec.rb b/spec/features/contact_spec.rb index c5612c60..13ffc4bd 100644 --- a/spec/features/contact_spec.rb +++ b/spec/features/contact_spec.rb @@ -1,13 +1,11 @@ require 'spec_helper' feature Contact do - let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } let!(:organizer) { create(:user, email: 'admin@example.com', role_ids: [organizer_role.id]) } shared_examples 'update a contact' do - scenario 'sucessfully', feature: true, js: true do contact = conference.contact expected_count = Contact.count @@ -26,7 +24,7 @@ feature Contact do click_button 'Update Contact' expect(flash). - to eq('Contact details were successfully updated.') + to eq('Contact details were successfully updated.') contact.reload expect(contact.email).to eq('example@example.com') expect(contact.sponsor_email).to eq('sponsor@example.com') @@ -42,5 +40,4 @@ feature Contact do describe 'organizer' do it_behaves_like 'update a contact', :organizer end - end diff --git a/spec/features/difficulty_levels_spec.rb b/spec/features/difficulty_levels_spec.rb index d670d29a..28a42027 100644 --- a/spec/features/difficulty_levels_spec.rb +++ b/spec/features/difficulty_levels_spec.rb @@ -7,10 +7,9 @@ feature DifficultyLevel do shared_examples 'difficulty levels' do scenario 'adds difficulty level', feature: true, js: true do - sign_in organizer visit admin_conference_difficulty_levels_path( - conference_id: conference.short_title) + conference_id: conference.short_title) # Add difficulty level click_link 'Add Difficulty Level' @@ -31,11 +30,10 @@ feature DifficultyLevel do end scenario 'updates difficulty level', feature: true, js: true do - conference.difficulty_levels << create(:difficulty_level) sign_in organizer visit admin_conference_difficulty_levels_path( - conference_id: conference.short_title) + conference_id: conference.short_title) # Remove difficulty level within('table tr:nth-of-type(4)') do @@ -51,7 +49,6 @@ feature DifficultyLevel do expect(page.has_content?('Hard Events')).to be true end end - end describe 'organizer' do diff --git a/spec/features/email_spec.rb b/spec/features/email_spec.rb index e58b9680..dc1cb966 100644 --- a/spec/features/email_spec.rb +++ b/spec/features/email_spec.rb @@ -8,7 +8,6 @@ feature EmailSettings do shared_examples 'email settings' do scenario 'updates email settings', feature: true, js: true do - expected_count = EmailSettings.count sign_in organizer @@ -54,7 +53,7 @@ feature EmailSettings do click_button 'Update Email settings' expect(flash). - to eq('Settings have been successfully updated.') + to eq('Settings have been successfully updated.') expect(find('#email_settings_registration_subject'). value).to eq('Registration subject') @@ -88,7 +87,6 @@ feature EmailSettings do value).to eq('Updated conference venue template') expect(EmailSettings.count).to eq(expected_count) - end end diff --git a/spec/features/event_types_spec.rb b/spec/features/event_types_spec.rb index b47cb73e..4d7e34df 100644 --- a/spec/features/event_types_spec.rb +++ b/spec/features/event_types_spec.rb @@ -7,10 +7,9 @@ feature EventType do shared_examples 'event types' do scenario 'adds and updates event type', feature: true, js: true do - sign_in organizer visit admin_conference_event_types_path( - conference_id: conference.short_title) + conference_id: conference.short_title) within('table#event_types') do expect(page.assert_selector('tr', count: 3)).to be true diff --git a/spec/features/lodgings_spec.rb b/spec/features/lodgings_spec.rb index be6359a8..72ac0734 100644 --- a/spec/features/lodgings_spec.rb +++ b/spec/features/lodgings_spec.rb @@ -10,7 +10,7 @@ feature Lodging do sign_in organizer visit admin_conference_lodgings_path( - conference_id: conference.short_title) + conference_id: conference.short_title) # Add lodging click_link 'Add Lodging' @@ -33,7 +33,7 @@ feature Lodging do sign_in organizer visit admin_conference_lodgings_path( - conference_id: conference.short_title) + conference_id: conference.short_title) expect(page.has_content?('Example Hotel')).to be true @@ -61,7 +61,7 @@ feature Lodging do sign_in organizer visit admin_conference_lodgings_path( - conference_id: conference.short_title) + conference_id: conference.short_title) expect(page.has_content?('Example Hotel')).to be true diff --git a/spec/features/omniauth_spec.rb b/spec/features/omniauth_spec.rb index 93ccd4a4..ad05c533 100644 --- a/spec/features/omniauth_spec.rb +++ b/spec/features/omniauth_spec.rb @@ -2,7 +2,6 @@ require 'spec_helper' feature Openid do shared_examples 'sign in with openid' do - scenario 'has option to log in with Google account' do visit '/accounts/sign_in' expect(page.has_content?('or sign in using')).to be true diff --git a/spec/features/registration_periods_spec.rb b/spec/features/registration_periods_spec.rb index 341edbe9..5be4c554 100644 --- a/spec/features/registration_periods_spec.rb +++ b/spec/features/registration_periods_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' feature RegistrationPeriod do - # It is necessary to use bang version of let to build roles before user let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } @@ -11,20 +10,20 @@ feature RegistrationPeriod do scenario 'create and update registration period', js: true do sign_in organizer visit admin_conference_registration_period_path( - conference_id: conference.short_title) + conference_id: conference.short_title) click_link 'New Registration Period' click_button 'Save Registration Period' expect(flash). - to eq('An error prohibited the Registration Period from being saved: ' \ + to eq('An error prohibited the Registration Period from being saved: ' \ "Start date can't be blank. End date can't be blank.") page. - execute_script("$('#registration-period-start-datepicker').val('" + + execute_script("$('#registration-period-start-datepicker').val('" + "#{Date.today.strftime('%d/%m/%Y')}')") page. - execute_script("$('#registration-period-end-datepicker').val('" + + execute_script("$('#registration-period-end-datepicker').val('" + "#{(Date.today + 7).strftime('%d/%m/%Y')}')") click_button 'Save Registration Period' diff --git a/spec/features/rooms_spec.rb b/spec/features/rooms_spec.rb index 96480351..08b0e3c3 100644 --- a/spec/features/rooms_spec.rb +++ b/spec/features/rooms_spec.rb @@ -9,7 +9,7 @@ feature Room do scenario 'adds a room', feature: true, js: true do sign_in organizer visit admin_conference_rooms_path( - conference_id: conference.short_title) + conference_id: conference.short_title) expect(page.has_no_table?('#rooms')).to be true @@ -33,7 +33,7 @@ feature Room do room = create(:room, conference_id: conference.id) sign_in organizer visit edit_admin_conference_room_path( - conference_id: conference.short_title, id: room.id) + conference_id: conference.short_title, id: room.id) fill_in 'room_name', with: 'Auditorium' fill_in 'room_size', with: '100' diff --git a/spec/features/splashpage_spec.rb b/spec/features/splashpage_spec.rb index 8b5dd122..2f3bf240 100644 --- a/spec/features/splashpage_spec.rb +++ b/spec/features/splashpage_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' feature Splashpage do - # It is necessary to use bang version of let to build roles before user let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } diff --git a/spec/features/sponsor_spec.rb b/spec/features/sponsor_spec.rb index eca5297a..d026adca 100644 --- a/spec/features/sponsor_spec.rb +++ b/spec/features/sponsor_spec.rb @@ -13,7 +13,7 @@ feature Sponsor do sign_in organizer visit admin_conference_sponsors_path( - conference_id: conference.short_title) + conference_id: conference.short_title) # Add sponsors click_link 'Add Sponsor' diff --git a/spec/features/sponsorship_level_spec.rb b/spec/features/sponsorship_level_spec.rb index 9df66e9a..3831b93e 100644 --- a/spec/features/sponsorship_level_spec.rb +++ b/spec/features/sponsorship_level_spec.rb @@ -9,7 +9,7 @@ feature SponsorshipLevel do scenario 'adds a sponsorship level', feature: true, js: true do sign_in organizer visit admin_conference_sponsorship_levels_path( - conference_id: conference.short_title) + conference_id: conference.short_title) expect(page.has_no_table?('#sponsorship_levels')).to be true @@ -32,7 +32,7 @@ feature SponsorshipLevel do level = create(:sponsorship_level, conference_id: conference.id) sign_in organizer visit edit_admin_conference_sponsorship_level_path( - conference_id: conference.short_title, id: level.id) + conference_id: conference.short_title, id: level.id) fill_in 'sponsorship_level_title', with: 'Gold' diff --git a/spec/features/ticket_purchases_spec.rb b/spec/features/ticket_purchases_spec.rb index b8c8ecbe..c2afe1bb 100644 --- a/spec/features/ticket_purchases_spec.rb +++ b/spec/features/ticket_purchases_spec.rb @@ -15,7 +15,6 @@ feature Registration do end context 'who is not registered' do - scenario 'purchases a ticket', feature: true, js: true do visit root_path click_link 'Register' @@ -32,7 +31,7 @@ feature Registration do expect(purchase.quantity).to eq(2) expect(current_path).to eq(conference_conference_registrations_path(conference.short_title)) expect(flash). - to eq("Thank you for supporting #{conference.title} by purchasing a ticket.") + to eq("Thank you for supporting #{conference.title} by purchasing a ticket.") expect(page.has_content?('2 Business Ticket Tickets for 10')).to be true end diff --git a/spec/features/tracks_spec.rb b/spec/features/tracks_spec.rb index ecaf0789..f7dfed04 100644 --- a/spec/features/tracks_spec.rb +++ b/spec/features/tracks_spec.rb @@ -7,7 +7,6 @@ feature Track do shared_examples 'tracks' do scenario 'adds a track', feature: true, js: true do - sign_in organizer visit admin_conference_tracks_path(conference_id: conference.short_title) diff --git a/spec/features/user_spec.rb b/spec/features/user_spec.rb index 7294ec5c..ef070c4a 100644 --- a/spec/features/user_spec.rb +++ b/spec/features/user_spec.rb @@ -1,9 +1,7 @@ require 'spec_helper' feature User do - shared_examples 'admin ability' do - end describe 'admin' do diff --git a/spec/features/venues_spec.rb b/spec/features/venues_spec.rb index 8082d67e..0553807b 100644 --- a/spec/features/venues_spec.rb +++ b/spec/features/venues_spec.rb @@ -7,12 +7,11 @@ feature Conference do shared_examples 'venue' do scenario 'adds and updates venue' do - sign_in organizer # create the venue visit admin_conference_venue_path( - conference_id: conference.short_title) + conference_id: conference.short_title) click_link 'Create Venue' fill_in 'venue_name', with: 'Example University' fill_in 'venue_street', with: 'Example Street 42' @@ -25,7 +24,7 @@ feature Conference do 'sadipscing elitr, sed diam nonumy eirmod tempor' click_button 'Create Venue' expect(flash). - to eq('Venue was successfully created.') + to eq('Venue was successfully created.') venue = Conference.find(conference.id).venue expect(venue.name).to eq('Example University') expect(venue.street).to eq('Example Street 42') @@ -42,7 +41,7 @@ feature Conference do fill_in 'venue_description', with: 'new' click_button 'Update Venue' expect(flash). - to eq('Venue was successfully updated.') + to eq('Venue was successfully updated.') venue.reload expect(venue.name).to eq('Example University new') expect(venue.website).to eq('www.example.com new') @@ -53,5 +52,4 @@ feature Conference do describe 'organizer' do it_behaves_like 'venue' end - end diff --git a/spec/features/volunteers_spec.rb b/spec/features/volunteers_spec.rb index 20242781..62c86f48 100644 --- a/spec/features/volunteers_spec.rb +++ b/spec/features/volunteers_spec.rb @@ -19,16 +19,16 @@ feature Conference do select("#{Date.today.strftime('%Y')}") page. find('div.nested-fields:nth-of-type(1) select:nth-of-type(2)'). - select("#{Date.today.strftime('%B')}") + select("#{Date.today.strftime('%B')}") page. find('div.nested-fields:nth-of-type(1) select:nth-of-type(3)'). - select("#{Date.today.strftime('%-d')}") + select("#{Date.today.strftime('%-d')}") page. find('div.nested-fields:nth-of-type(1) div:nth-of-type(1) textarea'). - set('Example Person') + set('Example Person') click_button 'Update Conference' expect(flash). - to eq('Volunteering options were successfully updated.') + to eq('Volunteering options were successfully updated.') # Validations expect(find('div.nested-fields:nth-of-type(1) select:nth-of-type(1)'). @@ -62,7 +62,7 @@ feature Conference do expect(page.all('div.nested-fields').count == 1).to be true page. find('div.nested-fields:nth-of-type(1) select:nth-of-type(1)'). - select("#{Date.today.strftime('%Y')}") + select("#{Date.today.strftime('%Y')}") page. find('div.nested-fields:nth-of-type(1) select:nth-of-type(2)'). select("#{Date.today.strftime('%B')}") @@ -74,7 +74,7 @@ feature Conference do set('Example Person') click_button 'Update Conference' expect(flash). - to eq('Volunteering options were successfully updated.') + to eq('Volunteering options were successfully updated.') # Add vposition check('Use vpositions') @@ -82,16 +82,16 @@ feature Conference do expect(page.all('div.nested-fields').count == 2).to be true page.find('div.vpositions div.nested-fields:nth-of-type(1)'\ ' div:nth-of-type(1) input'). - set('Example Position') + set('Example Position') page.find('div.vpositions div.nested-fields:nth-of-type(1)'\ ' div:nth-of-type(2) textarea'). - set('Example Description') + set('Example Description') find(:css, "select[id^='conference_vpositions_attributes_']"\ "[id$='_vday_ids']"). - find(:option, "#{Date.today.strftime}").select_option + find(:option, "#{Date.today.strftime}").select_option click_button 'Update Conference' expect(flash). - to eq('Volunteering options were successfully updated.') + to eq('Volunteering options were successfully updated.') # Validations expect(find('div.vpositions div.nested-fields:nth-of-type(1)'\ diff --git a/spec/models/commercial_spec.rb b/spec/models/commercial_spec.rb index 6a176d37..767ec300 100644 --- a/spec/models/commercial_spec.rb +++ b/spec/models/commercial_spec.rb @@ -1,8 +1,6 @@ require 'spec_helper' describe Commercial do - it { should validate_presence_of(:commercial_id) } it { should validate_presence_of(:commercial_type) } - end diff --git a/spec/models/conference_spec.rb b/spec/models/conference_spec.rb index a0a5576e..a96de6df 100755 --- a/spec/models/conference_spec.rb +++ b/spec/models/conference_spec.rb @@ -3,11 +3,9 @@ require 'spec_helper' describe Conference do - let(:subject) { create(:conference, end_date: '2014-06-30') } describe '#write_event_distribution_to_db' do - it 'updates pending conferences' do create(:conference, start_date: Date.today - 2.weeks, @@ -298,7 +296,6 @@ describe Conference do expect(subject.get_top_submitter.values).to eq([3, 1]) expect(subject.get_top_submitter.keys).to eq([e2.submitter, e1.submitter]) end - end describe '#get_targets' do @@ -391,7 +388,6 @@ describe Conference do describe '#new_program_minutes' do it 'calculates correct values with events' do - create(:event, conference: subject, event_type: @long, created_at: Time.now - 3.days) create(:event, conference: subject, event_type: @long) create(:event, conference: subject, event_type: @short, created_at: Time.now - 3.days) @@ -418,7 +414,6 @@ describe Conference do end describe '#difficulty_levels_distribution' do - it 'calculates correct for different difficulty levels' do create(:event, conference: subject, difficulty_level: @easy) create(:event, conference: subject, difficulty_level: @easy) @@ -700,7 +695,6 @@ describe Conference do end describe '#get_active_conferences' do - it 'returns pending conferences' do a = create(:conference, short_title: 'a', start_date: Time.now + 14.days, @@ -744,7 +738,7 @@ describe Conference do result = [a, b, c] expect(Conference.get_conferences_without_active_for_dashboard([subject])). - to match_array(result) + to match_array(result) end it 'returns all conferences if there are no active conferences' do @@ -762,7 +756,7 @@ describe Conference do end it 'return no conferences if there are only two conferences and no pending' do - a = create(:conference, start_date: Time.now - 2.year, end_date: Time.now - 720.days) + a = create(:conference, start_date: Time.now - 2.year, end_date: Time.now - 720.days) b = create(:conference, start_date: Time.now - 1.year, end_date: Time.now - 360.days) expect(Conference.get_conferences_without_active_for_dashboard([a, b])).to match_array([]) end @@ -779,11 +773,10 @@ describe Conference do end describe '#event_distribution' do - before(:each) do @conference = create( - :conference, - email_settings: create(:email_settings)) + :conference, + email_settings: create(:email_settings)) @conference.email_settings = create(:email_settings) @options = {} @@ -947,7 +940,6 @@ describe Conference do end describe '#get_status' do - before(:each) do # Setup positive result hash @result = {} @@ -961,7 +953,7 @@ describe Conference do @result['splashpage'] = true # Setup negative result hash - @result_false = Hash.new + @result_false = {} @result.each { |key, value| @result_false[key] = !value } @result['short_title'] = @result_false['short_title'] = subject.short_title @@ -1123,7 +1115,6 @@ describe Conference do end describe '#registration_weeks' do - it 'calculates new year' do subject.registration_period = create(:registration_period, start_date: Date.new(2013, 12, 31), @@ -1154,7 +1145,6 @@ describe Conference do end describe '#cfp_weeks' do - it 'calculates new year' do cfp = create(:call_for_paper) cfp.start_date = Date.new(2013, 12, 30) @@ -1189,7 +1179,6 @@ describe Conference do end describe '#get_submissions_per_week' do - it 'does calculate correct if cfp start date is altered' do cfp = create(:call_for_paper) cfp.start_date = Date.new(2014, 05, 26) @@ -1278,7 +1267,6 @@ describe Conference do end describe '#get_registrations_per_week' do - it 'pads with zeros if there are no registrations' do subject.registration_period = create(:registration_period, start_date: Date.new(2014, 05, 26), @@ -1384,9 +1372,7 @@ describe Conference do end describe '#pending?' do - context 'is pending' do - it '#pending? is true' do subject.start_date = Date.today + 10 expect(subject.pending?).to be true @@ -1394,7 +1380,6 @@ describe Conference do end context 'is not pending' do - it '#pending? is false' do subject.start_date = Date.today - 10 expect(subject.pending?).to be false @@ -1403,16 +1388,13 @@ describe Conference do end describe '#registration_open?' do - context 'closed registration' do - it '#registration_open? is false' do expect(subject.registration_open?).to be false end end context 'open registration' do - before do enrollment = create(:registration_period, start_date: Date.today - 1, @@ -1427,17 +1409,13 @@ describe Conference do end describe '#cfp_open?' do - context 'closed cfp' do - it '#cfp_open? is false' do expect(subject.cfp_open?).to be false end - end context 'open cfp' do - before do subject.call_for_paper = create(:call_for_paper) end @@ -1449,7 +1427,6 @@ describe Conference do end describe '#user_registered?' do - # It is necessary to use bang version of let to build roles before user let!(:conference) { create(:conference) } let!(:organizer_role) { create(:organizer_role, resource: conference) } @@ -1483,7 +1460,6 @@ describe Conference do end describe 'validations' do - it 'has a valid factory' do expect(build(:conference)).to be_valid end @@ -1517,7 +1493,6 @@ describe Conference do end describe 'before create callbacks' do - it 'has an email setting after creation' do expect(subject.email_settings).not_to be_nil end diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb index 1c0865aa..175252a5 100644 --- a/spec/models/event_spec.rb +++ b/spec/models/event_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Event do - describe 'abstract_word_count' do it 'counts words in abstract' do event = build(:event) diff --git a/spec/models/sponsorship_level_spec.rb b/spec/models/sponsorship_level_spec.rb index 1ca073e1..b87a54ed 100644 --- a/spec/models/sponsorship_level_spec.rb +++ b/spec/models/sponsorship_level_spec.rb @@ -2,7 +2,6 @@ require 'spec_helper' describe SponsorshipLevel do describe 'validations' do - it 'has a valid factory' do expect(build(:sponsorship_level)).to be_valid end diff --git a/spec/models/target_spec.rb b/spec/models/target_spec.rb index 53c46ae3..a868d813 100644 --- a/spec/models/target_spec.rb +++ b/spec/models/target_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe Target do - describe 'validations' do it 'has a valid factory' do expect(build(:target)).to be_valid diff --git a/spec/models/ticket_purchase_spec.rb b/spec/models/ticket_purchase_spec.rb index 9248b52f..d0d37771 100644 --- a/spec/models/ticket_purchase_spec.rb +++ b/spec/models/ticket_purchase_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe TicketPurchase do - describe 'validations' do it 'has a valid factory' do expect(build(:ticket_purchase)).to be_valid @@ -34,7 +33,6 @@ describe TicketPurchase do it 'is valid with a quantity greater than zero' do should allow_value(1).for(:quantity) end - end describe 'self#purchase' do diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index d92a5433..60c316f6 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe User do - # It is necessary to use bang version of let to build roles before user let!(:user_admin) { create(:user) } let!(:conference) { create(:conference) } diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 972e810d..a55eed43 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -92,7 +92,6 @@ RSpec.configure do |config| # Types of tests (controller, feature, model) will # be inferred from subfolder name config.infer_spec_type_from_file_location! - end OmniAuth.config.test_mode = true diff --git a/spec/support/factory_girl.rb b/spec/support/factory_girl.rb index 031f2a19..68b44ed6 100644 --- a/spec/support/factory_girl.rb +++ b/spec/support/factory_girl.rb @@ -1,7 +1,5 @@ RSpec.configure do |config| - config.before(:suite) do FactoryGirl.lint end - end diff --git a/spec/support/flash.rb b/spec/support/flash.rb index e999decc..2b1b2ae6 100644 --- a/spec/support/flash.rb +++ b/spec/support/flash.rb @@ -5,7 +5,7 @@ module Flash return 'none' end if results.count > 1 - texts = results.map { |r| r.text } + texts = results.map(&:text) fail "One flash expected, but we had #{texts.inspect}" end results.first.text diff --git a/spec/support/omniauth_macros.rb b/spec/support/omniauth_macros.rb index 76351686..f2d3748c 100644 --- a/spec/support/omniauth_macros.rb +++ b/spec/support/omniauth_macros.rb @@ -10,33 +10,33 @@ module OmniauthMacros def mock_auth_new_user OmniAuth.config.mock_auth[:google] = OmniAuth::AuthHash.new( - provider: 'google', - uid: 'google-test-uid-1', - info: { - name: 'new user name', - email: 'test-1@gmail.com' - }, - credentials: { - token: 'mock_token', - secret: 'mock_secret' - } - ) + provider: 'google', + uid: 'google-test-uid-1', + info: { + name: 'new user name', + email: 'test-1@gmail.com' + }, + credentials: { + token: 'mock_token', + secret: 'mock_secret' + } + ) end def mock_auth_new_user_fb OmniAuth.config.mock_auth[:facebook] = OmniAuth::AuthHash.new( - provider: 'facebook', - uid: 'facebook-test-uid-1', - info: { - name: 'new user fb name', - email: 'test-1@gmail.com' - }, - credentials: { - token: 'mock_token', - secret: 'mock_secret' - } - ) + provider: 'facebook', + uid: 'facebook-test-uid-1', + info: { + name: 'new user fb name', + email: 'test-1@gmail.com' + }, + credentials: { + token: 'mock_token', + secret: 'mock_secret' + } + ) end def mock_auth_existing_user_participant @@ -44,17 +44,17 @@ module OmniauthMacros # authentication hashes to return during integration testing. OmniAuth.config.mock_auth[:google] = OmniAuth::AuthHash.new( - provider: 'google', - uid: 'google-test-uid-participant-1', - info: { - name: 'existing user participant name', - email: 'test-participant-1@google.com' - }, - credentials: { - token: 'mock_token', - secret: 'mock_secret' - } - ) + provider: 'google', + uid: 'google-test-uid-participant-1', + info: { + name: 'existing user participant name', + email: 'test-participant-1@google.com' + }, + credentials: { + token: 'mock_token', + secret: 'mock_secret' + } + ) end def mock_auth_existing_user_admin @@ -62,16 +62,16 @@ module OmniauthMacros # authentication hashes to return during integration testing. OmniAuth.config.mock_auth[:google] = OmniAuth::AuthHash.new( - provider: 'google', - uid: 'google-test-uid-admin-1', - info: { - name: 'existing user admin name', - email: 'test-admin-1@google.com' - }, - credentials: { - token: 'mock_token', - secret: 'mock_secret' - } - ) + provider: 'google', + uid: 'google-test-uid-admin-1', + info: { + name: 'existing user admin name', + email: 'test-admin-1@google.com' + }, + credentials: { + token: 'mock_token', + secret: 'mock_secret' + } + ) end end diff --git a/spec/support/save_feature_failures.rb b/spec/support/save_feature_failures.rb index 4cfb68d4..313a5207 100644 --- a/spec/support/save_feature_failures.rb +++ b/spec/support/save_feature_failures.rb @@ -3,7 +3,7 @@ RSpec.configure do |config| config.after(:each, type: :feature) do ename = RSpec.current_example.full_description - ename = ename.gsub ' ', '_' + ename = ename.tr ' ', '_' ename.downcase! ename = ename + '.html' if RSpec.current_example.exception.present? diff --git a/spec/views/admin/call_for_papers/show.html.haml_spec.rb b/spec/views/admin/call_for_papers/show.html.haml_spec.rb index de7b7fe3..0734af95 100644 --- a/spec/views/admin/call_for_papers/show.html.haml_spec.rb +++ b/spec/views/admin/call_for_papers/show.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/call_for_papers/show' do - it 'renders call for papers details' do assign :conference, create(:conference) assign :call_for_paper, create(:call_for_paper) @@ -11,5 +10,4 @@ describe 'admin/call_for_papers/show' do expect(rendered).to include(1.day.ago.strftime('%A, %B %-d. %Y')) expect(rendered).to include(6.days.from_now.strftime('%A, %B %-d. %Y')) end - end diff --git a/spec/views/admin/conference/edit.html.haml_spec.rb b/spec/views/admin/conference/edit.html.haml_spec.rb index a80e1f29..eb5ee55d 100644 --- a/spec/views/admin/conference/edit.html.haml_spec.rb +++ b/spec/views/admin/conference/edit.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/conference/edit' do - it 'renders conference details which are editable' do @conference = create(:conference, title: 'openSUSE') assign :conference, @conference diff --git a/spec/views/admin/conference/show.html.haml_spec.rb b/spec/views/admin/conference/show.html.haml_spec.rb index 383af195..f8c7c480 100644 --- a/spec/views/admin/conference/show.html.haml_spec.rb +++ b/spec/views/admin/conference/show.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/conference/show' do - it 'renders conference dashboard' do conference = create(:conference, title: 'openSUSE') assign :conference, conference diff --git a/spec/views/admin/difficulty_levels/index.html.haml_spec.rb b/spec/views/admin/difficulty_levels/index.html.haml_spec.rb index 07dc6e04..58562d9b 100644 --- a/spec/views/admin/difficulty_levels/index.html.haml_spec.rb +++ b/spec/views/admin/difficulty_levels/index.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/difficulty_levels/index' do - it 'renders difficulty levels' do @difficulty_level = create(:difficulty_level) assign :conference, @difficulty_level.conference diff --git a/spec/views/admin/emails/index.html.haml_spec.rb b/spec/views/admin/emails/index.html.haml_spec.rb index 89c3c394..3ced87cc 100644 --- a/spec/views/admin/emails/index.html.haml_spec.rb +++ b/spec/views/admin/emails/index.html.haml_spec.rb @@ -1,6 +1,5 @@ require 'spec_helper' describe 'admin/emails/index' do - it 'renders email templates' do @conference = create(:conference) assign :conference, @conference @@ -8,25 +7,25 @@ describe 'admin/emails/index' do assign :settings, @settings render expect(rendered). - to have_selector("input[type='checkbox'][value='1']", count: 9) + to have_selector("input[type='checkbox'][value='1']", count: 9) expect(rendered). - to have_selector("input[checked='checked'][type='checkbox'][value='1']", count: 6) + to have_selector("input[checked='checked'][type='checkbox'][value='1']", count: 6) expect(rendered).to include('Lorem Ipsum Dolsum') expect(rendered). - to include('Lorem ipsum dolor sit amet, consectetuer adipiscing elit') + to include('Lorem ipsum dolor sit amet, consectetuer adipiscing elit') expect(rendered). - to include('Conference dates have been updated') + to include('Conference dates have been updated') expect(rendered). - to include('Conference registration dates have been updated') + to include('Conference registration dates have been updated') expect(rendered).to include('Venue has been updated') expect(rendered).to include('Venue has been Updated to Sample Location') expect(rendered). - to include('Call for Papers dates have been updated') + to include('Call for Papers dates have been updated') expect(rendered). - to include('Please checkout the new updates to submit your proposal for Sample Conference') + to include('Please checkout the new updates to submit your proposal for Sample Conference') expect(rendered). - to include('Sample Conference Cfp schedule is Public') + to include('Sample Conference Cfp schedule is Public') expect(rendered). - to include('Call for Papers schedule is Public.Checkout the link') + to include('Call for Papers schedule is Public.Checkout the link') end end diff --git a/spec/views/admin/event_types/index.html.haml_spec.rb b/spec/views/admin/event_types/index.html.haml_spec.rb index 661f7156..ae8e7301 100644 --- a/spec/views/admin/event_types/index.html.haml_spec.rb +++ b/spec/views/admin/event_types/index.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/event_types/index' do - it 'renders event types' do @event_type = create(:event_type) assign :conference, @event_type.conference diff --git a/spec/views/admin/rooms/index.html.haml_spec.rb b/spec/views/admin/rooms/index.html.haml_spec.rb index 71caf7f4..55eacc38 100644 --- a/spec/views/admin/rooms/index.html.haml_spec.rb +++ b/spec/views/admin/rooms/index.html.haml_spec.rb @@ -1,6 +1,5 @@ require 'spec_helper' describe 'admin/rooms/index' do - it 'renders rooms list' do @room = create(:room) assign :conference, @room.conference @@ -8,5 +7,4 @@ describe 'admin/rooms/index' do expect(rendered).to include('Example Room') expect(rendered).to include('4') end - end diff --git a/spec/views/admin/sponsors/index.html.haml_spec.rb b/spec/views/admin/sponsors/index.html.haml_spec.rb index 51b845ff..a4e7171e 100644 --- a/spec/views/admin/sponsors/index.html.haml_spec.rb +++ b/spec/views/admin/sponsors/index.html.haml_spec.rb @@ -6,7 +6,7 @@ describe 'admin/sponsors/index' do @conference.sponsorship_levels << create(:sponsorship_level, conference: @conference) @conference.sponsors << create(:sponsor, conference: @conference, sponsorship_level: @conference.sponsorship_levels.first - ) + ) assign :conference, @conference render expect(rendered).to include('Example sponsor') diff --git a/spec/views/admin/tracks/index.html.haml_spec.rb b/spec/views/admin/tracks/index.html.haml_spec.rb index ae75a3a1..992df399 100644 --- a/spec/views/admin/tracks/index.html.haml_spec.rb +++ b/spec/views/admin/tracks/index.html.haml_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' describe 'admin/tracks/index' do - it 'renders tracks' do @track = create(:track) assign :conference, @track.conference diff --git a/spec/views/admin/volunteers/index.html.haml_spec.rb b/spec/views/admin/volunteers/index.html.haml_spec.rb index 7edef5e5..ddadf722 100644 --- a/spec/views/admin/volunteers/index.html.haml_spec.rb +++ b/spec/views/admin/volunteers/index.html.haml_spec.rb @@ -1,14 +1,13 @@ require 'spec_helper' describe 'admin/volunteers/index' do - it 'renders volunteers days as vdays' do @vday = create(:vday) @vday.conference.update_attributes(use_volunteers: true, use_vdays: true) assign :conference, @vday.conference render expect(rendered).to have_selector( - "input[checked='checked'][type='checkbox'][value='1']", count: 2) + "input[checked='checked'][type='checkbox'][value='1']", count: 2) expect(rendered).to include("#{Date.today.strftime('%Y')}") expect(rendered).to include("#{Date.today.strftime('%B')}") expect(rendered).to include("#{Date.today.strftime('%d')}") @@ -18,7 +17,7 @@ describe 'admin/volunteers/index' do it 'renders volunteers positions as vpositions' do @vposition = create(:vposition) @vposition.conference.update_attributes( - use_vpositions: true, use_volunteers: true, use_vdays: true) + use_vpositions: true, use_volunteers: true, use_vdays: true) assign :conference, @vposition.conference render expect(rendered).to include("#{Date.today}")