diff --git a/app/assets/stylesheets/themes/default/pages/_matches.scss b/app/assets/stylesheets/themes/default/pages/_matches.scss
old mode 100644
new mode 100755
index 7c02079..1cf2924
--- a/app/assets/stylesheets/themes/default/pages/_matches.scss
+++ b/app/assets/stylesheets/themes/default/pages/_matches.scss
@@ -156,6 +156,7 @@ div#match {
.team-1,
.team-2 {
position: relative;
+ margin-bottom: 20px;
.player {
@include span-columns(12);
@@ -167,21 +168,8 @@ div#match {
position: relative;
}
- .controls {
- top: 0;
- position: absolute;
- z-index: 100;
-
- input {
- margin: 0;
- }
- }
-
- form {
-
- label.checkbox {
- padding: 0;
- }
+ label.checkbox {
+ padding: 0;
}
}
@@ -193,16 +181,9 @@ div#match {
margin: 0 0 0 10px;
}
- .controls {
- left: 0;
- }
-
- form {
-
- label.checkbox {
- float: right;
- margin-left: 1em;
- }
+ label.checkbox {
+ float: right;
+ margin-left: 1em;
}
}
@@ -210,16 +191,9 @@ div#match {
@include span-columns(6);
@include omega;
- .controls {
- right: 0;
- }
-
- form {
-
- label.checkbox {
- float: left;
- margin-right: 1em;
- }
+ label.checkbox {
+ float: left;
+ margin-right: 1em;
}
}
@@ -234,6 +208,10 @@ div#match {
margin: 0;
}
}
+
+ form .controls {
+ clear: both;
+ }
}
.scoring {
diff --git a/app/assets/stylesheets/themes/flat/pages/_matches.scss b/app/assets/stylesheets/themes/flat/pages/_matches.scss
old mode 100644
new mode 100755
index 8ce9e99..92d98cc
--- a/app/assets/stylesheets/themes/flat/pages/_matches.scss
+++ b/app/assets/stylesheets/themes/flat/pages/_matches.scss
@@ -155,6 +155,7 @@ div#match {
.team-1,
.team-2 {
position: relative;
+ margin-bottom: 20px;
.player {
@include span-columns(12);
@@ -166,21 +167,8 @@ div#match {
position: relative;
}
- .controls {
- top: 0;
- position: absolute;
- z-index: 100;
-
- input {
- margin: 0;
- }
- }
-
- form {
-
- label.checkbox {
- padding: 0;
- }
+ label.checkbox {
+ padding: 0;
}
}
@@ -192,16 +180,9 @@ div#match {
margin: 0 0 0 10px;
}
- .controls {
- left: 0;
- }
-
- form {
-
- label.checkbox {
- float: right;
- margin-left: 1em;
- }
+ label.checkbox {
+ float: right;
+ margin-left: 1em;
}
}
@@ -209,16 +190,9 @@ div#match {
@include span-columns(6);
@include omega;
- .controls {
- right: 0;
- }
-
- form {
-
- label.checkbox {
- float: left;
- margin-right: 1em;
- }
+ label.checkbox {
+ float: left;
+ margin-right: 1em;
}
}
@@ -233,6 +207,10 @@ div#match {
margin: 0;
}
}
+
+ form .controls {
+ clear: both;
+ }
}
.scoring {
diff --git a/app/controllers/matches_controller.rb b/app/controllers/matches_controller.rb
index 8e0ea0c..690d622 100755
--- a/app/controllers/matches_controller.rb
+++ b/app/controllers/matches_controller.rb
@@ -6,7 +6,7 @@ class MatchesController < ApplicationController
end
def show
- @ownpred = @match.predictions.first conditions: {user_id: cuser.id} if cuser
+ @ownpred = @match.predictions.first conditions: { user_id: cuser.id } if cuser
@newpred = @match.predictions.build
end
@@ -17,8 +17,9 @@ class MatchesController < ApplicationController
end
def admin
- @matches = Match.active.includes(:contest, :contester1, :contester2, :map1, :map2, :referee).all.group_by {|t| t.week.to_s }.to_a.reverse
- render :layout => "full"
+ @matches = Match.active.includes(:contest, :contester1, :contester2, :map1, :map2, :referee)
+ .all.group_by { |t| t.week.to_s }.to_a.reverse
+ render layout: "full"
end
def extra
@@ -39,7 +40,7 @@ class MatchesController < ApplicationController
if @match.save
flash[:notice] = t(:matches_create)
- redirect_to controller: 'contests', action: 'edit', id: @match.contest
+ redirect_to edit_contest_path(@match.contest)
else
render :new
end
@@ -49,11 +50,11 @@ class MatchesController < ApplicationController
raise AccessError unless @match.can_update? cuser, params[:match]
if params[:match][:matchers_attributes]
params[:match][:matchers_attributes].each do |key, matcher|
- matcher['_destroy'] = matcher['_destroy'] == "keep" ? false : true
- if matcher['user_id'] == ""
+ matcher["_destroy"] = matcher["_destroy"] == "keep" ? false : true
+ if matcher["user_id"] == ""
params[:match][:matchers_attributes].delete key
- elsif matcher['user_id'].to_i == 0
- matcher['user_id'] = User.find_by_username(matcher['user_id']).id
+ elsif matcher["user_id"].to_i == 0
+ matcher["user_id"] = User.find_by_username(matcher["user_id"]).id
end
end
end
@@ -71,7 +72,12 @@ class MatchesController < ApplicationController
end
end
else
- render :edit
+ if URI(request.referer).path == match_ref_path(@match)
+ ref
+ render :ref
+ else
+ render :edit
+ end
end
end
@@ -90,13 +96,13 @@ class MatchesController < ApplicationController
@match.hltv_stop
flash[:notice] = t(:hltv_stopped)
end
- redirect_to action: 'show'
+ redirect_to action: "show"
end
def destroy
raise AccessError unless @match.can_destroy? cuser
@match.destroy
- redirect_to controller: 'contests', action: 'edit', id: @match.contest
+ redirect_to edit_contest_path(@match.contest)
end
private
diff --git a/app/models/match.rb b/app/models/match.rb
index c31806a..4626848 100755
--- a/app/models/match.rb
+++ b/app/models/match.rb
@@ -193,7 +193,7 @@ class Match < ActiveRecord::Base
end
def send_notifications
- Profile.all(include: :user, conditions: "notify_any_match = 1").find_each do |p|
+ Profile.includes(:user).where(notify_any_match: 1).find_each do |p|
Notifications.match p.user, self if p.user
end
contester2.team.teamers.active.each do |teamer|
diff --git a/app/views/matches/_lineup.html.erb b/app/views/matches/_lineup.html.erb
old mode 100644
new mode 100755
index 0f9ba3a..b610794
--- a/app/views/matches/_lineup.html.erb
+++ b/app/views/matches/_lineup.html.erb
@@ -1,7 +1,7 @@
<% contester.lineup.each do |teamer| %>
- <% if matcher = @match.matchers.first(conditions: { user_id: teamer.user_id }) %>
+ <% if matcher = @match.matchers.first(conditions: { user_id: teamer.user_id, contester_id: contester.id }) %>
<%= hidden_field_tag "match[matchers_attributes][#{@n}][id]", matcher.id %>
<% end %>
@@ -9,7 +9,7 @@
<%= hidden_field_tag "match[matchers_attributes][#{@n}][contester_id]", contester.id %>
<%= hidden_field_tag "match[matchers_attributes][#{@n}][match_id]", @match.id %>
<%= hidden_field_tag "match[matchers_attributes][#{@n}][merc]", false %>
- <%= check_box_tag "match[matchers_attributes][#{@n}][_destroy]", "keep", @match.users.exists?(teamer.user), { id: "player_#{@n}" } %>
+ <%= check_box_tag "match[matchers_attributes][#{@n}][_destroy]", "keep", !matcher.nil?, { id: "player_#{@n}" } %>
<%= label_tag "player_#{@n}", '', class: 'checkbox' %>
@@ -45,5 +45,7 @@
<%= hidden_field_tag "match[matchers_attributes][#{@n}][_destroy]", "keep" %>
<%= text_field_tag "match[matchers_attributes][#{@n}][user_id]", '', placeholder: 'Mercenary' %>
+
+ <% @n = @n + 1 %>
diff --git a/app/views/matches/ref.html.erb b/app/views/matches/ref.html.erb
old mode 100644
new mode 100755
index 5e8a0aa..fe0fa40
--- a/app/views/matches/ref.html.erb
+++ b/app/views/matches/ref.html.erb
@@ -16,33 +16,25 @@
Lineups
-
- <%= form_for @match do |f| %>
- <%= f.error_messages %>
-
-
- <%= f.submit 'Save Lineup' %>
-
+ <%= form_for @match do |f| %>
+ <%= f.error_messages %>
+
<% [@match.contester1].each do |contester| %>
- <%= render partial: "lineup", locals: { contester: contester } %>
+ <%= render partial: "lineup", locals: { contester: contester } %>
<% end %>
- <% end %>
-
-
-
- <%= form_for @match do |f| %>
- <%= f.error_messages %>
-
-
- <%= f.submit 'Save Lineup' %>
-
-
+
+
+
<% [@match.contester2].each do |contester| %>
- <%= render partial: "lineup", locals: { contester: contester } %>
+ <%= render partial: "lineup", locals: { contester: contester } %>
<% end %>
- <% end %>
-
+
+
+
+ <%= f.submit 'Save Lineups' %>
+
+ <% end %>
@@ -83,7 +75,7 @@
- <%= f.submit 'Save Scores' %>
+ <%= f.submit 'Save Scoring' %>
<% end %>
diff --git a/app/views/matches/show.html.erb b/app/views/matches/show.html.erb
old mode 100644
new mode 100755
index eb99448..0a62dd4
--- a/app/views/matches/show.html.erb
+++ b/app/views/matches/show.html.erb
@@ -117,9 +117,9 @@
<% end %>
- <% if cuser and @match.can_update? cuser, referee_id: cuser.id %>
+ <% if cuser and @match.can_update? cuser, [:report] %>
- <%= link_to "Referee Admin", { controller: :matches, action: 'ref', id: @match }, class: 'button' %>
+ <%= link_to "Referee Admin", match_ref_path(@match), class: 'button' %>
<% end %>
diff --git a/config/routes.rb b/config/routes.rb
old mode 100644
new mode 100755
index 1442471..80f0f11
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,6 +1,6 @@
-Ensl::Application.routes.draw do
+Ensl::Application.routes.draw do
%w(403 404 422 500).each do |code|
- get code, to: 'errors#show', code: code
+ get code, to: "errors#show", code: code
end
namespace :api do
@@ -17,12 +17,12 @@ Ensl::Application.routes.draw do
resources :versions
end
- match 'contests/del_map'
- match 'contests/scores'
- match 'contests/historical', to: "contests#historical"
+ match "contests/del_map"
+ match "contests/scores"
+ match "contests/historical", to: "contests#historical"
resources :contests do
- get 'current', on: :collection
+ get "current", on: :collection
end
resources :log_events
@@ -30,7 +30,7 @@ Ensl::Application.routes.draw do
resources :options
resources :polls
- match 'comments/quote'
+ match "comments/quote"
resources :comments
resources :shoutmsgs
@@ -43,8 +43,8 @@ Ensl::Application.routes.draw do
resources :forumers
resources :topics
- match 'forums/up'
- match 'forums/down'
+ match "forums/up"
+ match "forums/down"
resources :forums
resources :users
@@ -55,9 +55,10 @@ Ensl::Application.routes.draw do
resources :servers
resources :predictions
resources :rounds
- resources :matches do |m|
+
+ get "matches/ref/:id" => "matches#ref", as: :match_ref
+ resources :matches do
get :admin, to: "matches#admin", on: :collection
- get :ref, to: "matches#ref"
end
resources :maps
@@ -73,66 +74,66 @@ Ensl::Application.routes.draw do
resources :bans
resources :tweets
resources :issues
-
- match 'posts/quote'
+
+ match "posts/quote"
resources :posts
resources :brackets
- match 'about/action'
- match 'about/staff'
- match 'about/statistics'
+ match "about/action"
+ match "about/staff"
+ match "about/statistics"
- match 'refresh', to: "application#refresh"
- match 'search', to: "application#search"
+ match "refresh", to: "application#refresh"
+ match "search", to: "application#search"
- match 'news', to: "articles#news_index"
- match 'news/archive', to: "articles#news_archive"
- match 'news/admin', to: "articles#admin"
- match 'articles/cleanup'
+ match "news", to: "articles#news_index"
+ match "news/archive", to: "articles#news_archive"
+ match "news/admin", to: "articles#admin"
+ match "articles/cleanup"
- match 'data_files/admin'
- match 'data_files/addFile'
- match 'data_files/delFile'
- match 'data_files/trash'
+ match "data_files/admin"
+ match "data_files/addFile"
+ match "data_files/delFile"
+ match "data_files/trash"
- match 'contesters/recalc'
+ match "contesters/recalc"
- match 'directories', to: "directories#show", id: 1
+ match "directories", to: "directories#show", id: 1
- match 'gathers/refresh'
- match 'gathers/latest/:game', to: "gathers#latest", via: :get
- match 'gather', to: "gathers#latest", game: "ns2", via: :get
+ match "gathers/refresh"
+ match "gathers/latest/:game", to: "gathers#latest", via: :get
+ match "gather", to: "gathers#latest", game: "ns2", via: :get
- match 'gatherers/:id/status', to: "gatherers#status", via: :post
+ match "gatherers/:id/status", to: "gatherers#status", via: :post
- match 'groups/addUser'
- match 'groups/delUser'
+ match "groups/addUser"
+ match "groups/delUser"
- match 'movies/download'
- match 'movies/preview'
- match 'movies/snapshot'
+ match "movies/download"
+ match "movies/preview"
+ match "movies/snapshot"
- match 'plugin/user'
+ match "plugin/user"
- match 'users/forgot'
- match 'users/recover'
- match 'users/agenda'
- match 'users/logout'
- match 'users/login'
+ match "users/forgot"
+ match "users/recover"
+ match "users/agenda"
+ match "users/logout"
+ match "users/login"
- match 'users/agenda'
- match 'users/login'
- match 'users/logout'
- match 'users/popup'
- match 'users/forgot', to: "users#forgot"
+ match "users/agenda"
+ match "users/login"
+ match "users/logout"
+ match "users/popup"
+ match "users/forgot", to: "users#forgot"
- match 'votes/create'
+ match "votes/create"
- match ':controller/:action', requirements: { action: /A-Za-z/ }
- match ':controller/:action/:id'
- match ':controller/:action/:id.:format'
- match ':controller/:action/:id/:id2'
+ match ":controller/:action", requirements: { action: /A-Za-z/ }
+ match ":controller/:action/:id"
+ match ":controller/:action/:id.:format"
+ match ":controller/:action/:id/:id2"
- match 'teamers/replace', to: 'teamers#replace', as: 'teamers_replace'
+ match "teamers/replace", to: "teamers#replace", as: "teamers_replace"
end
diff --git a/config/styles/ruby.yml b/config/styles/ruby.yml
index c97ef12..6e9d1ee 100755
--- a/config/styles/ruby.yml
+++ b/config/styles/ruby.yml
@@ -13,6 +13,14 @@ Style/CollectionMethods:
find: detect
find_all: select
reduce: inject
+Style/DotPosition:
+ Description: Checks the position of the dot in multi-line method calls.
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains
+ Enabled: true
+ EnforcedStyle: leading
+ SupportedStyles:
+ - leading
+ - trailing
Style/FileName:
Description: Use snake_case for source file names.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
@@ -27,7 +35,7 @@ Style/IfUnlessModifier:
Description: Favor modifier if/unless usage when you have a single-line body.
StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier
Enabled: false
- MaxLineLength: 80
+ MaxLineLength: 100
Style/OptionHash:
Description: Don't use option hashes when you can use keyword arguments.
Enabled: false
@@ -223,14 +231,11 @@ Lint/LiteralInCondition:
Lint/LiteralInInterpolation:
Description: Checks for literals used in interpolation.
Enabled: false
-
Metrics/LineLength:
Description: Limit lines to 100 characters.
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits
Enabled: true
Max: 100
AllowURI: true
URISchemes:
- http
- https
-
\ No newline at end of file
diff --git a/lib/verification.rb b/lib/verification.rb
index ebab58c..f307ea4 100755
--- a/lib/verification.rb
+++ b/lib/verification.rb
@@ -54,8 +54,9 @@ module Verification
end
# TODO: rikki?
- # Returns true if params (or its keys) are a subset of filter
+ # Returns true if params (or its keys if a hash) are a subset of filter
def self.contain(params, filter)
- ((params.instance_of?(Array) ? params : params.keys) - filter).empty?
+ keys = (params.instance_of?(Array) ? params : params.keys).map(&:to_sym)
+ (keys - filter).empty?
end
end
diff --git a/spec/controllers/api/v1/maps_controller_spec.rb b/spec/controllers/api/v1/maps_controller_spec.rb
old mode 100644
new mode 100755
index 689f7c3..523b54c
--- a/spec/controllers/api/v1/maps_controller_spec.rb
+++ b/spec/controllers/api/v1/maps_controller_spec.rb
@@ -1,19 +1,19 @@
-require 'spec_helper'
+require "spec_helper"
describe Api::V1::MapsController do
before do
- request.accept = 'application/json'
+ request.accept = "application/json"
end
- describe '#index' do
+ describe "#index" do
let!(:map) { create :map }
- it 'returns a list of maps' do
+ it "returns a list of maps" do
get :index
expect(response).to be_success
- expect(json['maps'].length).to eq(1)
- json_map = json['maps'][0]
- expect(json_map['id']).to eq(map.id)
+ expect(json["maps"].length).to eq(1)
+ json_map = json["maps"][0]
+ expect(json_map["id"]).to eq(map.id)
end
end
end
diff --git a/spec/controllers/api/v1/servers_controller_spec.rb b/spec/controllers/api/v1/servers_controller_spec.rb
old mode 100644
new mode 100755
index 1e3437f..6930853
--- a/spec/controllers/api/v1/servers_controller_spec.rb
+++ b/spec/controllers/api/v1/servers_controller_spec.rb
@@ -1,20 +1,20 @@
-require 'spec_helper'
+require "spec_helper"
describe Api::V1::ServersController do
before do
- request.accept = 'application/json'
+ request.accept = "application/json"
end
- describe '#index' do
+ describe "#index" do
let!(:server) { create :server, :active }
let!(:inactive_server) { create :server, :inactive }
- it 'returns a list of servers' do
+ it "returns a list of servers" do
get :index
expect(response).to be_success
- expect(json['servers'].length).to eq(1)
- json_server = json['servers'][0]
- expect(json_server['id']).to eq(server.id)
+ expect(json["servers"].length).to eq(1)
+ json_server = json["servers"][0]
+ expect(json_server["id"]).to eq(server.id)
end
end
end
diff --git a/spec/controllers/plugin/plugin_controller_spec.rb b/spec/controllers/plugin/plugin_controller_spec.rb
old mode 100644
new mode 100755
index e9585af..42efd7a
--- a/spec/controllers/plugin/plugin_controller_spec.rb
+++ b/spec/controllers/plugin/plugin_controller_spec.rb
@@ -1,9 +1,9 @@
-require 'spec_helper'
+require "spec_helper"
describe PluginController do
render_views
- describe '#user' do
+ describe "#user" do
before do
create :group, :donors
create :group, :champions
@@ -11,19 +11,19 @@ describe PluginController do
let!(:user) { create :user_with_team }
- it 'returns user data' do
+ it "returns user data" do
get :user, id: user.steamid
expect(response).to be_success
expect(response.body).to include(user.username)
end
- it 'definitely does not return IP address' do
- last_ip = '127.0.0.1'
+ it "definitely does not return IP address" do
+ last_ip = "127.0.0.1"
user.lastip = last_ip
user.save!
get :user, id: user.steamid
expect(response).to be_success
- expect(response).to_not include(last_ip)
+ expect(response).to_not include(last_ip)
end
end
-end
\ No newline at end of file
+end
diff --git a/spec/factories/article.rb b/spec/factories/article.rb
old mode 100644
new mode 100755
index 8e03ad7..b937dac
--- a/spec/factories/article.rb
+++ b/spec/factories/article.rb
@@ -1,6 +1,6 @@
FactoryGirl.define do
factory :article do
sequence(:title) { |n| "Article #{n}" }
- sequence(:text) { |n| (0..100).map{ (0...8).map { (65 + rand(26)).chr }.join }.join(" ") }
+ sequence(:text) { (0..100).map { (0...8).map { (65 + rand(26)).chr }.join }.join(" ") }
end
-end
\ No newline at end of file
+end
diff --git a/spec/factories/ban.rb b/spec/factories/ban.rb
old mode 100644
new mode 100755
index 0f998be..d477915
--- a/spec/factories/ban.rb
+++ b/spec/factories/ban.rb
@@ -1,13 +1,13 @@
FactoryGirl.define do
factory :ban do
ban_type Ban::TYPE_SITE
- expiry Date.today + 1
+ expiry Time.now.utc.to_date + 1
# Hack because of the awkward way bans are created (requires user_name)
before(:create) do |ban|
if ban.user.nil?
user = create :user
ban.user_name = user.username
- else
+ else
ban.user_name = ban.user.username
end
end
@@ -28,4 +28,4 @@ FactoryGirl.define do
trait :expired do
expiry Date.yesterday - 1
end
-end
\ No newline at end of file
+end
diff --git a/spec/factories/category.rb b/spec/factories/category.rb
old mode 100644
new mode 100755
index 14dd5ef..f94392d
--- a/spec/factories/category.rb
+++ b/spec/factories/category.rb
@@ -5,10 +5,10 @@ FactoryGirl.define do
end
trait :news do
- domain Category::DOMAIN_NEWS
+ domain Category::DOMAIN_NEWS
end
trait :game do
- domain Category::DOMAIN_GAMES
+ domain Category::DOMAIN_GAMES
end
-end
\ No newline at end of file
+end
diff --git a/spec/factories/contest.rb b/spec/factories/contest.rb
new file mode 100755
index 0000000..98695b2
--- /dev/null
+++ b/spec/factories/contest.rb
@@ -0,0 +1,10 @@
+FactoryGirl.define do
+ factory :contest do
+ sequence(:name) { |n| "Contest ##{n}" }
+
+ start Date.yesterday
+ self.end Date.tomorrow
+ status Contest::STATUS_PROGRESS
+ default_time "12:00:00"
+ end
+end
diff --git a/spec/factories/contester.rb b/spec/factories/contester.rb
new file mode 100755
index 0000000..fe87ae7
--- /dev/null
+++ b/spec/factories/contester.rb
@@ -0,0 +1,8 @@
+FactoryGirl.define do
+ factory :contester do
+ contest
+ team do
+ create(:user_with_team).team
+ end
+ end
+end
diff --git a/spec/factories/gather.rb b/spec/factories/gather.rb
old mode 100644
new mode 100755
index a7b1d0a..0316a7b
--- a/spec/factories/gather.rb
+++ b/spec/factories/gather.rb
@@ -4,10 +4,10 @@ FactoryGirl.define do
end
trait :running do
- status Gather::STATE_RUNNING
+ status Gather::STATE_RUNNING
end
trait :picking do
- status Gather::STATE_PICKING
+ status Gather::STATE_PICKING
end
end
diff --git a/spec/factories/group.rb b/spec/factories/group.rb
old mode 100644
new mode 100755
index 68cec21..d0f0742
--- a/spec/factories/group.rb
+++ b/spec/factories/group.rb
@@ -1,27 +1,39 @@
FactoryGirl.define do
factory :group do
- sequence(:id) { |n| n + 100 } # Preserve first 100
+ sequence(:id) { |n| n + 100 } # Preserve first 100
sequence(:name) { |n| "Group#{n}" }
association :founder, factory: :user
+
+ initialize_with { Group.find_or_create_by_id(id) }
end
trait :admin do
- name "Admins"
- id Group::ADMINS
+ name "Admins"
+ id Group::ADMINS
+ end
+
+ trait :caster do
+ name "Shoutcasters"
+ id Group::CASTERS
end
trait :champions do
- name "Champions"
- id Group::CHAMPIONS
+ name "Champions"
+ id Group::CHAMPIONS
end
trait :donors do
- name "Donors"
- id Group::DONORS
+ name "Donors"
+ id Group::DONORS
end
trait :gather_moderator do
name "Gather Moderator"
id Group::GATHER_MODERATORS
end
+
+ trait :ref do
+ name "Referees"
+ id Group::REFEREES
+ end
end
diff --git a/spec/factories/grouper.rb b/spec/factories/grouper.rb
old mode 100644
new mode 100755
index 54c492b..3e172bb
--- a/spec/factories/grouper.rb
+++ b/spec/factories/grouper.rb
@@ -1,5 +1,5 @@
FactoryGirl.define do
- factory :grouper do
- sequence(:task) { |n| "Task#{n}" }
- end
-end
\ No newline at end of file
+ factory :grouper do
+ sequence(:task) { |n| "Task#{n}" }
+ end
+end
diff --git a/spec/factories/issue.rb b/spec/factories/issue.rb
old mode 100644
new mode 100755
index f7a9d4d..3f51961
--- a/spec/factories/issue.rb
+++ b/spec/factories/issue.rb
@@ -1,8 +1,8 @@
FactoryGirl.define do
- factory :issue do
- sequence(:title) { |n| "Issue title #{n}" }
- sequence(:text) { |n| "Issue Text #{n}" }
- status Issue::STATUS_OPEN
- association :author, factory: :user
- end
-end
\ No newline at end of file
+ factory :issue do
+ sequence(:title) { |n| "Issue title #{n}" }
+ sequence(:text) { |n| "Issue Text #{n}" }
+ status Issue::STATUS_OPEN
+ association :author, factory: :user
+ end
+end
diff --git a/spec/factories/match.rb b/spec/factories/match.rb
new file mode 100755
index 0000000..be17db9
--- /dev/null
+++ b/spec/factories/match.rb
@@ -0,0 +1,13 @@
+FactoryGirl.define do
+ factory :match do
+ contest
+ contester1 do
+ create(:contester, contest: contest)
+ end
+ contester2 do
+ create(:contester, contest: contest)
+ end
+
+ match_time 1.hour.from_now
+ end
+end
diff --git a/spec/factories/message.rb b/spec/factories/message.rb
old mode 100644
new mode 100755
index 1f44662..bb88f6f
--- a/spec/factories/message.rb
+++ b/spec/factories/message.rb
@@ -1,9 +1,9 @@
FactoryGirl.define do
- factory :message do
- association :sender, factory: :user
- association :recipient, factory: :user
- sequence(:text) { |n| "text-#{n}" }
- sequence(:title) { |n| "title-#{n}" }
- sequence(:text_parsed) { |n| "text-#{n}" }
- end
-end
\ No newline at end of file
+ factory :message do
+ association :sender, factory: :user
+ association :recipient, factory: :user
+ sequence(:text) { |n| "text-#{n}" }
+ sequence(:title) { |n| "title-#{n}" }
+ sequence(:text_parsed) { |n| "text-#{n}" }
+ end
+end
diff --git a/spec/factories/server.rb b/spec/factories/server.rb
old mode 100644
new mode 100755
index e5cb877..81440a7
--- a/spec/factories/server.rb
+++ b/spec/factories/server.rb
@@ -13,4 +13,4 @@ FactoryGirl.define do
active false
end
end
-end
\ No newline at end of file
+end
diff --git a/spec/factories/team.rb b/spec/factories/team.rb
old mode 100644
new mode 100755
index 1a3902b..7a23a48
--- a/spec/factories/team.rb
+++ b/spec/factories/team.rb
@@ -1,11 +1,11 @@
FactoryGirl.define do
factory :team do
sequence(:name) { |n| "Team ##{n}" }
-
+
irc "#team"
web "http://team.com"
tag "[TEAM]"
country "EU"
comment "We are a team"
end
-end
\ No newline at end of file
+end
diff --git a/spec/factories/user.rb b/spec/factories/user.rb
old mode 100644
new mode 100755
index 74942ac..2cf98a7
--- a/spec/factories/user.rb
+++ b/spec/factories/user.rb
@@ -20,6 +20,20 @@ FactoryGirl.define do
end
end
+ trait :caster do
+ after(:create) do |user|
+ group = create(:group, :caster)
+ create :grouper, user: user, group: group
+ end
+ end
+
+ trait :ref do
+ after(:create) do |user|
+ group = create(:group, :ref)
+ create :grouper, user: user, group: group
+ end
+ end
+
trait :chris do
steamid "0:1:58097444"
end
diff --git a/spec/features/shoutbox/shoutbox_spec.rb b/spec/features/shoutbox/shoutbox_spec.rb
old mode 100644
new mode 100755
index 5a40b6e..662bbc2
--- a/spec/features/shoutbox/shoutbox_spec.rb
+++ b/spec/features/shoutbox/shoutbox_spec.rb
@@ -1,34 +1,34 @@
-require 'spec_helper'
+require "spec_helper"
-feature 'Shoutbox', js: true do
- let!(:user) { create :user }
+feature "Shoutbox", js: true do
+ let!(:user) { create :user }
- background do
- sign_in_as user
- end
+ background do
+ sign_in_as user
+ end
- scenario 'creating a valid shout' do
- visit root_path
- shout = rand(100000).to_s
- fill_in 'shoutbox_text', with: shout
- click_button 'Shout!'
- expect(page).to have_content(shout)
- end
+ scenario "creating a valid shout" do
+ visit root_path
+ shout = rand(100_000).to_s
+ fill_in "shoutbox_text", with: shout
+ click_button "Shout!"
+ expect(page).to have_content(shout)
+ end
- scenario 'enter more than 100 characters' do
- valid_shout = 100.times.map { "a" }.join
- invalid_shout = 101.times.map { "a" }.join
- visit root_path
- expect(page).to_not have_content("Maximum shout length exceeded")
- fill_in 'shoutbox_text', with: invalid_shout
- expect(page).to have_content("Maximum shout length exceeded")
- fill_in 'shoutbox_text', with: valid_shout
- expect(page).to_not have_content("Maximum shout length exceeded")
- end
+ scenario "enter more than 100 characters" do
+ valid_shout = 100.times.map { "a" }.join
+ invalid_shout = 101.times.map { "a" }.join
+ visit root_path
+ expect(page).to_not have_content("Maximum shout length exceeded")
+ fill_in "shoutbox_text", with: invalid_shout
+ expect(page).to have_content("Maximum shout length exceeded")
+ fill_in "shoutbox_text", with: valid_shout
+ expect(page).to_not have_content("Maximum shout length exceeded")
+ end
- scenario 'creating shout while banned' do
- Ban.create! ban_type: Ban::TYPE_MUTE, expiry: Time.now + 10.days, user_name: user.username
- visit root_path
- expect(find("#sidebar")).to have_content "You have been muted."
- end
-end
\ No newline at end of file
+ scenario "creating shout while banned" do
+ Ban.create! ban_type: Ban::TYPE_MUTE, expiry: Time.now.utc + 10.days, user_name: user.username
+ visit root_path
+ expect(find("#sidebar")).to have_content "You have been muted."
+ end
+end
diff --git a/spec/features/users/case_insensitive_login_spec.rb b/spec/features/users/case_insensitive_login_spec.rb
old mode 100644
new mode 100755
index e9c9ea1..dbbd62a
--- a/spec/features/users/case_insensitive_login_spec.rb
+++ b/spec/features/users/case_insensitive_login_spec.rb
@@ -1,6 +1,6 @@
-require 'spec_helper'
+require "spec_helper"
-feature 'Case insensitive login', js: :true do
+feature "Case insensitive login", js: :true do
let(:username) { "CaSe_InSeNsItIvE" }
let(:password) { "passwordABC123" }
let!(:user) { create(:user, username: username, raw_password: password) }
@@ -9,23 +9,23 @@ feature 'Case insensitive login', js: :true do
visit root_path
end
- feature 'when a user with mixed-case username signs in' do
- scenario 'with a matching case allows the user to sign in' do
+ feature "when a user with mixed-case username signs in" do
+ scenario "with a matching case allows the user to sign in" do
fill_login_form(username)
click_button submit(:user, :login)
-
- expect(page).to have_content(I18n.t('login_successful'))
-
+
+ expect(page).to have_content(I18n.t("login_successful"))
+
within user_status do
expect(page).to have_content(account_link)
end
end
- scenario 'with a non-matching case allows the user to sign in' do
+ scenario "with a non-matching case allows the user to sign in" do
fill_login_form("CASE_INSENSITIVE")
click_button submit(:user, :login)
-
- expect(page).to have_content(I18n.t('login_successful'))
+
+ expect(page).to have_content(I18n.t("login_successful"))
within user_status do
expect(page).to have_content(account_link)
@@ -39,6 +39,6 @@ feature 'Case insensitive login', js: :true do
end
def account_link
- 'ACCOUNT'
+ "ACCOUNT"
end
end
diff --git a/spec/features/users/user_signs_up_spec.rb b/spec/features/users/user_signs_up_spec.rb
index 2d5b2e7..ca80ec7 100755
--- a/spec/features/users/user_signs_up_spec.rb
+++ b/spec/features/users/user_signs_up_spec.rb
@@ -12,7 +12,7 @@ feature "Visitor signs up", js: :true do
fill_form(:user, user.slice(*sign_up_attributes))
click_button submit(:user, :create)
end
-
+
expect(user_status).to have_content("ACCOUNT")
end
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
old mode 100644
new mode 100755
index 0258344..b67632e
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -22,7 +22,7 @@
# salt :string(255)
#
-require 'spec_helper'
+require "spec_helper"
describe User do
let!(:user) { create :user }
@@ -34,7 +34,7 @@ describe User do
it "returns true if user is banned" do
Ban.create!(ban_type: Ban::TYPE_SITE,
- expiry: Time.now + 10.days,
+ expiry: Time.now.utc + 10.days,
user_name: user.username)
expect(user.banned?).to be_truthy
@@ -42,7 +42,7 @@ describe User do
it "returns true for specific bans" do
Ban.create!(ban_type: Ban::TYPE_MUTE,
- expiry: Time.now + 10.days,
+ expiry: Time.now.utc + 10.days,
user_name: user.username)
expect(user.banned? Ban::TYPE_MUTE).to be_truthy
diff --git a/spec/services/api/v1/users_collection_spec.rb b/spec/services/api/v1/users_collection_spec.rb
old mode 100644
new mode 100755
index 66437e9..f2b0fbc
--- a/spec/services/api/v1/users_collection_spec.rb
+++ b/spec/services/api/v1/users_collection_spec.rb
@@ -28,4 +28,4 @@ describe Api::V1::UsersCollection do
end
end
end
-end
\ No newline at end of file
+end
diff --git a/spec/support/features/form_helpers.rb b/spec/support/features/form_helpers.rb
old mode 100644
new mode 100755
index 390b409..671bbad
--- a/spec/support/features/form_helpers.rb
+++ b/spec/support/features/form_helpers.rb
@@ -2,7 +2,7 @@ module Features
module FormHelpers
def fill_form(model, hash)
hash.each do |attribute, value|
- fill_in attribute_translation(model, attribute), :with => value
+ fill_in attribute_translation(model, attribute), with: value
end
end
diff --git a/spec/support/features/server_helpers.rb b/spec/support/features/server_helpers.rb
old mode 100644
new mode 100755
index 446f34c..e4b67a1
--- a/spec/support/features/server_helpers.rb
+++ b/spec/support/features/server_helpers.rb
@@ -1,24 +1,24 @@
module Features
module ServerHelpers
def test_server_creation_and_editing
- dns = 'ServerDns.com'
- ip = '192.168.1.1'
- port = '8000'
- password = 'secret'
- name = 'MyNsServer'
- description = 'My NS Server'
- irc = '#some_channel'
+ dns = "ServerDns.com"
+ ip = "192.168.1.1"
+ port = "8000"
+ password = "secret"
+ name = "MyNsServer"
+ description = "My NS Server"
+ irc = "#some_channel"
visit new_server_path
- fill_in 'Dns', with: dns
- fill_in 'server_ip', with: ip
- fill_in 'server_port', with: port
- fill_in 'Password', with: password
- fill_in 'Name', with: name
- fill_in 'Description', with: description
- fill_in 'Irc', with: irc
- check 'Available for officials?'
- click_button 'Save'
+ fill_in "Dns", with: dns
+ fill_in "server_ip", with: ip
+ fill_in "server_port", with: port
+ fill_in "Password", with: password
+ fill_in "Name", with: name
+ fill_in "Description", with: description
+ fill_in "Irc", with: irc
+ check "Available for officials?"
+ click_button "Save"
expect(page).to have_content(dns)
expect(page).to have_content("#{ip}:#{port}")
@@ -26,17 +26,17 @@ module Features
expect(page).to have_content(irc)
expect(page).to have_content(description)
- click_link 'Edit Server'
+ click_link "Edit Server"
- fill_in 'Dns', with: "#{dns}2"
- fill_in 'server_ip', with: "192.168.1.2"
- fill_in 'server_port', with: "8001"
- fill_in 'Password', with: "#{password}2"
- fill_in 'Name', with: "#{name}2"
- fill_in 'Description', with: "#{description}2"
- fill_in 'Irc', with: "#{irc}2"
- check 'Available for officials?'
- click_button 'Save'
+ fill_in "Dns", with: "#{dns}2"
+ fill_in "server_ip", with: "192.168.1.2"
+ fill_in "server_port", with: "8001"
+ fill_in "Password", with: "#{password}2"
+ fill_in "Name", with: "#{name}2"
+ fill_in "Description", with: "#{description}2"
+ fill_in "Irc", with: "#{irc}2"
+ check "Available for officials?"
+ click_button "Save"
expect(page).to have_content("192.168.1.2:8001")
expect(page).to have_content("#{dns}2")
@@ -45,4 +45,4 @@ module Features
expect(page).to have_content("#{description}2")
end
end
-end
\ No newline at end of file
+end
diff --git a/spec/support/features/session_helpers.rb b/spec/support/features/session_helpers.rb
old mode 100644
new mode 100755
index 64a44aa..f7188d7
--- a/spec/support/features/session_helpers.rb
+++ b/spec/support/features/session_helpers.rb
@@ -1,21 +1,21 @@
module Features
module SessionHelpers
- def sign_in_as(user)
+ def sign_in_as(user)
visit root_path
fill_in "login_username", with: user.username
fill_in "login_password", with: user.raw_password
- click_button I18n.t('helpers.submit.user.login')
+ click_button I18n.t("helpers.submit.user.login")
end
def change_timezone_for(user, timezone)
visit edit_user_path(user.id)
- click_link I18n.t('profile.locals')
+ click_link I18n.t("profile.locals")
find("option[value='#{timezone}']").select_option
-
- click_button I18n.t('helpers.submit.user.update')
+
+ click_button I18n.t("helpers.submit.user.update")
end
def user_status
@@ -26,4 +26,4 @@ module Features
find "#new_user"
end
end
-end
\ No newline at end of file
+end