整理测试代码

This commit is contained in:
qyzh 2021-10-29 09:09:47 +08:00
parent 34212a3468
commit 859566e4be
232 changed files with 121997 additions and 1766 deletions

View File

@ -77,6 +77,7 @@ group :test do
gem 'capybara', '>= 2.15', '< 4.0' gem 'capybara', '>= 2.15', '< 4.0'
gem 'selenium-webdriver' gem 'selenium-webdriver'
gem 'chromedriver-helper' gem 'chromedriver-helper'
gem 'simplecov', '~>0.12.0', require: false
end end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

View File

@ -107,6 +107,7 @@ GEM
activerecord (>= 3.1.0, < 7) activerecord (>= 3.1.0, < 7)
diff-lcs (1.3) diff-lcs (1.3)
diffy (3.3.0) diffy (3.3.0)
docile (1.1.5)
e2mmap (0.1.0) e2mmap (0.1.0)
elasticsearch (7.5.0) elasticsearch (7.5.0)
elasticsearch-api (= 7.5.0) elasticsearch-api (= 7.5.0)
@ -150,6 +151,7 @@ GEM
rails-dom-testing (>= 1, < 3) rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0) railties (>= 4.2.0)
thor (>= 0.14, < 2.0) thor (>= 0.14, < 2.0)
json (2.6.0)
jwt (2.2.1) jwt (2.2.1)
kaminari (1.2.0) kaminari (1.2.0)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
@ -374,6 +376,11 @@ GEM
simple_xlsx_reader (1.0.4) simple_xlsx_reader (1.0.4)
nokogiri nokogiri
rubyzip rubyzip
simplecov (0.12.0)
docile (~> 1.1.0)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
sinatra (2.0.8.1) sinatra (2.0.8.1)
mustermann (~> 1.0) mustermann (~> 1.0)
rack (~> 2.0) rack (~> 2.0)
@ -499,6 +506,7 @@ DEPENDENCIES
sidekiq-cron (~> 1.1) sidekiq-cron (~> 1.1)
simple_form simple_form
simple_xlsx_reader simple_xlsx_reader
simplecov (~> 0.12.0)
sinatra sinatra
solargraph (~> 0.38.0) solargraph (~> 0.38.0)
spreadsheet spreadsheet

View File

@ -264,13 +264,20 @@ class UsersController < ApplicationController
render_ok render_ok
end end
def update_description def update_sponsor_description
@user = User.find params[:id] @user = User.find params[:id]
if @user.id == User.current.id && @user.update(description: params[:description]) if @user.id == User.current.id
# @user.update(description: params[:description])
@user.sponsor_description = params[:sponsor_description]
puts "$$$$$$$$$$$$$$$$$$$$$=", @user.sponsor_description
if @user.save!
render_ok render_ok
else else
render_error render_error
end end
else
render_error
end
end end
def sync_user_info def sync_user_info
@ -304,7 +311,7 @@ class UsersController < ApplicationController
:gender, :location, :location_city, :gender, :location, :location_city,
:occupation, :technical_title, :occupation, :technical_title,
:school_id, :department_id, :province, :city, :school_id, :department_id, :province, :city,
:custom_department, :identity, :student_id, :description, :custom_department, :identity, :student_id, :description, :sponsor_description,
:show_email, :show_location, :show_department] :show_email, :show_location, :show_department]
) )
end end

View File

@ -48,7 +48,7 @@
# sponsor_certification :integer default("0") # sponsor_certification :integer default("0")
# sponsor_num :integer default("0") # sponsor_num :integer default("0")
# sponsored_num :integer default("0") # sponsored_num :integer default("0")
# description :text(65535) # sponsor_description :text(65535)
# devops_step :integer default("0") # devops_step :integer default("0")
# award_time :datetime # award_time :datetime
# #

View File

@ -48,7 +48,7 @@
# sponsor_certification :integer default("0") # sponsor_certification :integer default("0")
# sponsor_num :integer default("0") # sponsor_num :integer default("0")
# sponsored_num :integer default("0") # sponsored_num :integer default("0")
# description :text(65535) # sponsor_description :text(65535)
# devops_step :integer default("0") # devops_step :integer default("0")
# award_time :datetime # award_time :datetime
# #

View File

@ -48,7 +48,7 @@
# sponsor_certification :integer default("0") # sponsor_certification :integer default("0")
# sponsor_num :integer default("0") # sponsor_num :integer default("0")
# sponsored_num :integer default("0") # sponsored_num :integer default("0")
# description :text(65535) # sponsor_description :text(65535)
# devops_step :integer default("0") # devops_step :integer default("0")
# award_time :datetime # award_time :datetime
# #

View File

@ -15,7 +15,7 @@ json.need_edit_info @user.need_edit_info?
# json.email @user.mail # json.email @user.mail
json.profile_completed @user.profile_is_completed? json.profile_completed @user.profile_is_completed?
json.professional_certification @user.professional_certification json.professional_certification @user.professional_certification
json.description @user.description json.sponsor_description @user.sponsor_description
json.devops_step @user.devops_step json.devops_step @user.devops_step
json.ci_certification @user.ci_certification? json.ci_certification @user.ci_certification?
json.email @user.mail json.email @user.mail

View File

@ -14,3 +14,4 @@ json.province @user.show_location ? @user.province : nil
json.city @user.show_location ? @user.city : nil json.city @user.show_location ? @user.city : nil
json.custom_department @user.show_department ? @user.custom_department : nil json.custom_department @user.show_department ? @user.custom_department : nil
json.description @user.description json.description @user.description
json.sponsor_description @user.sponsor_description

View File

@ -226,7 +226,7 @@ Rails.application.routes.draw do
get :projects get :projects
get :watch_users get :watch_users
get :fan_users get :fan_users
put :update_description put :update_sponsor_description
get :hovercard get :hovercard
end end
collection do collection do

5
coverage/.last_run.json Normal file
View File

@ -0,0 +1,5 @@
{
"result": {
"covered_percent": 55.13
}
}

15661
coverage/.resultset.json Normal file

File diff suppressed because it is too large Load Diff

View File

View File

@ -0,0 +1,799 @@
/* -----------------------------------------------------------------------
Blueprint CSS Framework 0.9
http://blueprintcss.org
* Copyright (c) 2007-Present. See LICENSE for more info.
* See README for instructions on how to use Blueprint.
* For credits and origins, see AUTHORS.
* This is a compressed file. See the sources in the 'src' directory.
----------------------------------------------------------------------- */
/* reset.css */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
article, aside, dialog, figure, footer, header, hgroup, nav, section {display:block;}
body {line-height:1.5;}
table {border-collapse:separate;border-spacing:0;}
caption, th, td {text-align:left;font-weight:normal;}
table, td, th {vertical-align:middle;}
blockquote:before, blockquote:after, q:before, q:after {content:"";}
blockquote, q {quotes:"" "";}
a img {border:none;}
/* typography.css */
html {font-size:100.01%;}
body {font-size:82%;color:#222;background:#fff;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
h1 {font-size:3em;line-height:1;margin-bottom:0.5em;}
h2 {font-size:2em;margin-bottom:0.75em;}
h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
h6 {font-size:1em;font-weight:bold;}
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
p {margin:0 0 1.5em;}
p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
a:focus, a:hover {color:#000;}
a {color:#009;text-decoration:underline;}
blockquote {margin:1.5em;color:#666;font-style:italic;}
strong {font-weight:bold;}
em, dfn {font-style:italic;}
dfn {font-weight:bold;}
sup, sub {line-height:0;}
abbr, acronym {border-bottom:1px dotted #666;}
address {margin:0 0 1.5em;font-style:italic;}
del {color:#666;}
pre {margin:1.5em 0;white-space:pre;}
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
li ul, li ol {margin:0;}
ul, ol {margin:0 1.5em 1.5em 0;padding-left:3.333em;}
ul {list-style-type:disc;}
ol {list-style-type:decimal;}
dl {margin:0 0 1.5em 0;}
dl dt {font-weight:bold;}
dd {margin-left:1.5em;}
table {margin-bottom:1.4em;width:100%;}
th {font-weight:bold;}
thead th {background:#c3d9ff;}
th, td, caption {padding:4px 10px 4px 5px;}
tr.even td {background:#efefef;}
tfoot {font-style:italic;}
caption {background:#eee;}
.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
.hide {display:none;}
.quiet {color:#666;}
.loud {color:#000;}
.highlight {background:#ff0;}
.added {background:#060;color:#fff;}
.removed {background:#900;color:#fff;}
.first {margin-left:0;padding-left:0;}
.last {margin-right:0;padding-right:0;}
.top {margin-top:0;padding-top:0;}
.bottom {margin-bottom:0;padding-bottom:0;}
/* forms.css */
label {font-weight:bold;}
fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
legend {font-weight:bold;font-size:1.2em;}
input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
input.text, input.title {width:300px;padding:5px;}
input.title {font-size:1.5em;}
textarea {width:390px;height:250px;padding:5px;}
input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;}
form.inline {line-height:3;}
form.inline p {margin-bottom:0;}
.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
.error a {color:#8a1f11;}
.notice a {color:#514721;}
.success a {color:#264409;}
.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
hr.space {background:#fff;color:#fff;visibility:hidden;}
.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
.clearfix, .container {display:block;}
.clear {clear:both;}
/*
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
*/
pre code {
}
pre .comment,
pre .template_comment,
pre .diff .header,
pre .javadoc {
color: #998;
font-style: italic
}
pre .keyword,
pre .css .rule .keyword,
pre .winutils,
pre .javascript .title,
pre .lisp .title {
color: #000;
font-weight: bold
}
pre .number,
pre .hexcolor {
color: #458
}
pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula {
color: #d14
}
pre .subst {
color: #712;
}
pre .constant,
pre .title,
pre .id {
color: #900;
font-weight: bold
}
pre .javascript .title,
pre .lisp .title,
pre .subst {
font-weight: normal
}
pre .class .title,
pre .haskell .label,
pre .tex .command {
color: #458;
font-weight: bold
}
pre .tag,
pre .tag .title,
pre .rules .property,
pre .django .tag .keyword {
color: #000080;
font-weight: normal
}
pre .attribute,
pre .variable,
pre .instancevar,
pre .lisp .body {
color: #008080
}
pre .regexp {
color: #009926
}
pre .class {
color: #458;
font-weight: bold
}
pre .symbol,
pre .ruby .symbol .string,
pre .ruby .symbol .keyword,
pre .ruby .symbol .keymethods,
pre .lisp .keyword,
pre .tex .special,
pre .input_number {
color: #990073
}
pre .builtin,
pre .built_in,
pre .lisp .title {
color: #0086b3
}
pre .preprocessor,
pre .pi,
pre .doctype,
pre .shebang,
pre .cdata {
color: #999;
font-weight: bold
}
pre .deletion {
background: #fdd
}
pre .addition {
background: #dfd
}
pre .diff .change {
background: #0086b3
}
pre .chunk {
color: #aaa
}
pre .tex .formula {
opacity: 0.5;
}
/*
* jQuery UI CSS Framework @VERSION
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*/
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.ui-helper-clearfix { display: inline-block; }
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix { height:1%; }
.ui-helper-clearfix { display:block; }
/* end clearfix */
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/*
* jQuery UI CSS Framework @VERSION
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
*/
/* Component containers
----------------------------------*/
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
.ui-widget-content a { color: #222222; }
.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
.ui-widget-header a { color: #222222; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
.ui-widget :active { outline: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
/* Overlays */
.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
/*
ColorBox Core Style:
The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
.cboxIframe{width:100%; height:100%; display:block; border:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box;}
/*
User Style:
Change the following styles to modify the appearance of ColorBox. They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000;}
#colorbox{}
#cboxTopLeft{width:14px; height:14px; background:url(colorbox/controls.png) no-repeat 0 0;}
#cboxTopCenter{height:14px; background:url(colorbox/border.png) repeat-x top left;}
#cboxTopRight{width:14px; height:14px; background:url(colorbox/controls.png) no-repeat -36px 0;}
#cboxBottomLeft{width:14px; height:43px; background:url(colorbox/controls.png) no-repeat 0 -32px;}
#cboxBottomCenter{height:43px; background:url(colorbox/border.png) repeat-x bottom left;}
#cboxBottomRight{width:14px; height:43px; background:url(colorbox/controls.png) no-repeat -36px -32px;}
#cboxMiddleLeft{width:14px; background:url(colorbox/controls.png) repeat-y -175px 0;}
#cboxMiddleRight{width:14px; background:url(colorbox/controls.png) repeat-y -211px 0;}
#cboxContent{background:#fff; overflow:visible;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{margin-bottom:5px;}
#cboxLoadingOverlay{background:url(colorbox/loading_background.png) no-repeat center center;}
#cboxLoadingGraphic{background:url(colorbox/loading.gif) no-repeat center center;}
#cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
#cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background:url(colorbox/controls.png) no-repeat 0px 0px; width:23px; height:23px; text-indent:-9999px;}
#cboxPrevious{left:0px; background-position: -51px -25px;}
#cboxPrevious:hover{background-position:-51px 0px;}
#cboxNext{left:27px; background-position:-75px -25px;}
#cboxNext:hover{background-position:-75px 0px;}
#cboxClose{right:0; background-position:-100px -25px;}
#cboxClose:hover{background-position:-100px 0px;}
.cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
.cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
.cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
.cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}
#loading {
position: fixed;
left: 40%;
top: 50%; }
a {
color: #333333;
text-decoration: none; }
a:hover {
color: black;
text-decoration: underline; }
body {
font-family: "Lucida Grande", Helvetica, "Helvetica Neue", Arial, sans-serif;
padding: 12px;
background-color: #333333; }
h1, h2, h3, h4 {
color: #1c2324;
margin: 0;
padding: 0;
margin-bottom: 12px; }
table {
width: 100%; }
#content {
clear: left;
background-color: white;
border: 2px solid #dddddd;
border-top: 8px solid #dddddd;
padding: 18px;
-webkit-border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-webkit-border-top-right-radius: 5px;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
-moz-border-radius-topright: 5px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
border-top-right-radius: 5px; }
.dataTables_filter, .dataTables_info {
padding: 2px 6px; }
abbr.timeago {
text-decoration: none;
border: none;
font-weight: bold; }
.timestamp {
float: right;
color: #dddddd; }
.group_tabs {
list-style: none;
float: left;
margin: 0;
padding: 0; }
.group_tabs li {
display: inline;
float: left; }
.group_tabs li a {
font-family: Helvetica, Arial, sans-serif;
display: block;
float: left;
text-decoration: none;
padding: 4px 8px;
background-color: #aaaaaa;
background: -webkit-gradient(linear, 0 0, 0 bottom, from(#dddddd), to(#aaaaaa));
background: -moz-linear-gradient(#dddddd, #aaaaaa);
background: linear-gradient(#dddddd, #aaaaaa);
text-shadow: #e5e5e5 1px 1px 0px;
border-bottom: none;
color: #333333;
font-weight: bold;
margin-right: 8px;
border-top: 1px solid #efefef;
-webkit-border-top-left-radius: 2px;
-webkit-border-top-right-radius: 2px;
-moz-border-radius-topleft: 2px;
-moz-border-radius-topright: 2px;
border-top-left-radius: 2px;
border-top-right-radius: 2px; }
.group_tabs li a:hover {
background-color: #cccccc;
background: -webkit-gradient(linear, 0 0, 0 bottom, from(#eeeeee), to(#aaaaaa));
background: -moz-linear-gradient(#eeeeee, #aaaaaa);
background: linear-gradient(#eeeeee, #aaaaaa); }
.group_tabs li a:active {
padding-top: 5px;
padding-bottom: 3px; }
.group_tabs li.active a {
color: black;
text-shadow: white 1px 1px 0px;
background-color: #dddddd;
background: -webkit-gradient(linear, 0 0, 0 bottom, from(white), to(#dddddd));
background: -moz-linear-gradient(white, #dddddd);
background: linear-gradient(white, #dddddd); }
.file_list {
margin-bottom: 18px; }
a.src_link {
background: url("./magnify.png") no-repeat left 50%;
padding-left: 18px; }
tr, td {
margin: 0;
padding: 0; }
th {
white-space: nowrap; }
th.ui-state-default {
cursor: pointer; }
th span.ui-icon {
float: left; }
td {
padding: 4px 8px; }
td.strong {
font-weight: bold; }
.source_table h3, .source_table h4 {
padding: 0;
margin: 0;
margin-bottom: 4px; }
.source_table .header {
padding: 10px; }
.source_table pre {
margin: 0;
padding: 0;
white-space: normal;
color: black;
font-family: "Monaco", "Inconsolata", "Consolas", monospace; }
.source_table code {
color: black;
font-family: "Monaco", "Inconsolata", "Consolas", monospace; }
.source_table pre {
background-color: #333333; }
.source_table pre ol {
margin: 0px;
padding: 0px;
margin-left: 45px;
font-size: 12px;
color: white; }
.source_table pre li {
margin: 0px;
padding: 2px 6px;
border-left: 5px solid white; }
.source_table pre li code {
white-space: pre;
white-space: pre-wrap; }
.source_table pre .hits {
float: right;
margin-left: 10px;
padding: 2px 4px;
background-color: #444444;
background: -webkit-gradient(linear, 0 0, 0 bottom, from(#222222), to(#666666));
background: -moz-linear-gradient(#222222, #666666);
background: linear-gradient(#222222, #666666);
color: white;
font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
font-size: 10px;
font-weight: bold;
text-align: center;
border-radius: 6px; }
#footer {
color: #dddddd;
font-size: 12px;
font-weight: bold;
margin-top: 12px;
text-align: right; }
#footer a {
color: #eeeeee;
text-decoration: underline; }
#footer a:hover {
color: white;
text-decoration: none; }
.green {
color: #009900; }
.red {
color: #990000; }
.yellow {
color: #ddaa00; }
.source_table .covered {
border-color: #009900; }
.source_table .missed {
border-color: #990000; }
.source_table .never {
border-color: black; }
.source_table .skipped {
border-color: #ffcc00; }
.source_table .covered:nth-child(odd) {
background-color: #cdf2cd; }
.source_table .covered:nth-child(even) {
background-color: #dbf2db; }
.source_table .missed:nth-child(odd) {
background-color: #f7c0c0; }
.source_table .missed:nth-child(even) {
background-color: #f7cfcf; }
.source_table .never:nth-child(odd) {
background-color: #efefef; }
.source_table .never:nth-child(even) {
background-color: #f4f4f4; }
.source_table .skipped:nth-child(odd) {
background-color: #fbf0c0; }
.source_table .skipped:nth-child(even) {
background-color: #fbffcf; }

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

100184
coverage/index.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
class ChangeUserDescriptionToSponsorDescription < ActiveRecord::Migration[5.2]
def change
rename_column :users, :description, :sponsor_description
end
end

3431
out.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe AdminController, type: :controller do
end

View File

@ -1,47 +0,0 @@
require 'rails_helper'
RSpec.describe Admins::EduSettingsController, type: :controller do
describe "GET #index" do
it "returns http success" do
get :index
expect(response).to have_http_status(:success)
end
end
describe "GET #new" do
it "returns http success" do
get :new
expect(response).to have_http_status(:success)
end
end
describe "GET #update" do
it "returns http success" do
get :update
expect(response).to have_http_status(:success)
end
end
describe "GET #edit" do
it "returns http success" do
get :edit
expect(response).to have_http_status(:success)
end
end
describe "GET #create" do
it "returns http success" do
get :create
expect(response).to have_http_status(:success)
end
end
describe "GET #destroy" do
it "returns http success" do
get :destroy
expect(response).to have_http_status(:success)
end
end
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe BlobController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe BoardsController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CommentsController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CourseGroupsController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CourseModulesController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CourseSecondCategoriesController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CourseStagesController, type: :controller do
end

View File

@ -1,141 +0,0 @@
require 'rails_helper'
# This spec was generated by rspec-rails when you ran the scaffold generator.
# It demonstrates how one might use RSpec to specify the controller code that
# was generated by Rails when you ran the scaffold generator.
#
# It assumes that the implementation code is generated by the rails scaffold
# generator. If you are using any extension libraries to generate different
# controller code, this generated spec may or may not pass.
#
# It only uses APIs available in rails and/or rspec-rails. There are a number
# of tools you can use to make these specs even more expressive, but we're
# sticking to rails and rspec-rails APIs to keep things simple and stable.
#
# Compared to earlier versions of this generator, there is very limited use of
# stubs and message expectations in this spec. Stubs are only used when there
# is no simpler way to get a handle on the object needed for the example.
# Message expectations are only used when there is no simpler way to specify
# that an instance is receiving a specific message.
#
# Also compared to earlier versions of this generator, there are no longer any
# expectations of assigns and templates rendered. These features have been
# removed from Rails core in Rails 5, but can be added back in via the
# `rails-controller-testing` gem.
RSpec.describe CoursesController, type: :controller do
# This should return the minimal set of attributes required to create a valid
# Course. As you add validations to Course, be sure to
# adjust the attributes here as well.
let(:valid_attributes) {
skip("Add a hash of attributes valid for your model")
}
let(:invalid_attributes) {
skip("Add a hash of attributes invalid for your model")
}
# This should return the minimal set of values that should be in the session
# in order to pass any filters (e.g. authentication) defined in
# CoursesController. Be sure to keep this updated too.
let(:valid_session) { {} }
describe "GET #index" do
it "returns a success response" do
Course.create! valid_attributes
get :index, params: {}, session: valid_session
expect(response).to be_successful
end
end
describe "GET #show" do
it "returns a success response" do
course = Course.create! valid_attributes
get :show, params: {id: course.to_param}, session: valid_session
expect(response).to be_successful
end
end
describe "GET #new" do
it "returns a success response" do
get :new, params: {}, session: valid_session
expect(response).to be_successful
end
end
describe "GET #edit" do
it "returns a success response" do
course = Course.create! valid_attributes
get :edit, params: {id: course.to_param}, session: valid_session
expect(response).to be_successful
end
end
describe "POST #create" do
context "with valid params" do
it "creates a new Course" do
expect {
post :create, params: {course: valid_attributes}, session: valid_session
}.to change(Course, :count).by(1)
end
it "redirects to the created course" do
post :create, params: {course: valid_attributes}, session: valid_session
expect(response).to redirect_to(Course.last)
end
end
context "with invalid params" do
it "returns a success response (i.e. to display the 'new' template)" do
post :create, params: {course: invalid_attributes}, session: valid_session
expect(response).to be_successful
end
end
end
describe "PUT #update" do
context "with valid params" do
let(:new_attributes) {
skip("Add a hash of attributes valid for your model")
}
it "updates the requested course" do
course = Course.create! valid_attributes
put :update, params: {id: course.to_param, course: new_attributes}, session: valid_session
course.reload
skip("Add assertions for updated state")
end
it "redirects to the course" do
course = Course.create! valid_attributes
put :update, params: {id: course.to_param, course: valid_attributes}, session: valid_session
expect(response).to redirect_to(course)
end
end
context "with invalid params" do
it "returns a success response (i.e. to display the 'edit' template)" do
course = Course.create! valid_attributes
put :update, params: {id: course.to_param, course: invalid_attributes}, session: valid_session
expect(response).to be_successful
end
end
end
describe "DELETE #destroy" do
it "destroys the requested course" do
course = Course.create! valid_attributes
expect {
delete :destroy, params: {id: course.to_param}, session: valid_session
}.to change(Course, :count).by(-1)
end
it "redirects to the courses list" do
course = Course.create! valid_attributes
delete :destroy, params: {id: course.to_param}, session: valid_session
expect(response).to redirect_to(courses_url)
end
end
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe EduDatasController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe GraduationTasksController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe GraduationTopicsController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe GraduationWorksController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HackUserLastestCodesController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HacksController, type: :controller do
end

View File

@ -1,12 +0,0 @@
require 'rails_helper'
RSpec.describe HomeController, type: :controller do
describe "GET #index" do
it "returns http success" do
get :index
expect(response).to have_http_status(:success)
end
end
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HomeworkBanksController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HomeworkCommonsController, type: :controller do
end

View File

@ -1,141 +0,0 @@
require 'rails_helper'
# This spec was generated by rspec-rails when you ran the scaffold generator.
# It demonstrates how one might use RSpec to specify the controller code that
# was generated by Rails when you ran the scaffold generator.
#
# It assumes that the implementation code is generated by the rails scaffold
# generator. If you are using any extension libraries to generate different
# controller code, this generated spec may or may not pass.
#
# It only uses APIs available in rails and/or rspec-rails. There are a number
# of tools you can use to make these specs even more expressive, but we're
# sticking to rails and rspec-rails APIs to keep things simple and stable.
#
# Compared to earlier versions of this generator, there is very limited use of
# stubs and message expectations in this spec. Stubs are only used when there
# is no simpler way to get a handle on the object needed for the example.
# Message expectations are only used when there is no simpler way to specify
# that an instance is receiving a specific message.
#
# Also compared to earlier versions of this generator, there are no longer any
# expectations of assigns and templates rendered. These features have been
# removed from Rails core in Rails 5, but can be added back in via the
# `rails-controller-testing` gem.
RSpec.describe MemosController, type: :controller do
# This should return the minimal set of attributes required to create a valid
# Memo. As you add validations to Memo, be sure to
# adjust the attributes here as well.
let(:valid_attributes) {
skip("Add a hash of attributes valid for your model")
}
let(:invalid_attributes) {
skip("Add a hash of attributes invalid for your model")
}
# This should return the minimal set of values that should be in the session
# in order to pass any filters (e.g. authentication) defined in
# MemosController. Be sure to keep this updated too.
let(:valid_session) { {} }
describe "GET #index" do
it "returns a success response" do
Memo.create! valid_attributes
get :index, params: {}, session: valid_session
expect(response).to be_successful
end
end
describe "GET #show" do
it "returns a success response" do
memo = Memo.create! valid_attributes
get :show, params: {id: memo.to_param}, session: valid_session
expect(response).to be_successful
end
end
describe "GET #new" do
it "returns a success response" do
get :new, params: {}, session: valid_session
expect(response).to be_successful
end
end
describe "GET #edit" do
it "returns a success response" do
memo = Memo.create! valid_attributes
get :edit, params: {id: memo.to_param}, session: valid_session
expect(response).to be_successful
end
end
describe "POST #create" do
context "with valid params" do
it "creates a new Memo" do
expect {
post :create, params: {memo: valid_attributes}, session: valid_session
}.to change(Memo, :count).by(1)
end
it "redirects to the created memo" do
post :create, params: {memo: valid_attributes}, session: valid_session
expect(response).to redirect_to(Memo.last)
end
end
context "with invalid params" do
it "returns a success response (i.e. to display the 'new' template)" do
post :create, params: {memo: invalid_attributes}, session: valid_session
expect(response).to be_successful
end
end
end
describe "PUT #update" do
context "with valid params" do
let(:new_attributes) {
skip("Add a hash of attributes valid for your model")
}
it "updates the requested memo" do
memo = Memo.create! valid_attributes
put :update, params: {id: memo.to_param, memo: new_attributes}, session: valid_session
memo.reload
skip("Add assertions for updated state")
end
it "redirects to the memo" do
memo = Memo.create! valid_attributes
put :update, params: {id: memo.to_param, memo: valid_attributes}, session: valid_session
expect(response).to redirect_to(memo)
end
end
context "with invalid params" do
it "returns a success response (i.e. to display the 'edit' template)" do
memo = Memo.create! valid_attributes
put :update, params: {id: memo.to_param, memo: invalid_attributes}, session: valid_session
expect(response).to be_successful
end
end
end
describe "DELETE #destroy" do
it "destroys the requested memo" do
memo = Memo.create! valid_attributes
expect {
delete :destroy, params: {id: memo.to_param}, session: valid_session
}.to change(Memo, :count).by(-1)
end
it "redirects to the memos list" do
memo = Memo.create! valid_attributes
delete :destroy, params: {id: memo.to_param}, session: valid_session
expect(response).to redirect_to(memos_url)
end
end
end

View File

@ -1,26 +0,0 @@
require 'rails_helper'
RSpec.describe MessagesController, type: :controller do
describe "GET #index" do
it "returns http success" do
get :index
expect(response).to have_http_status(:success)
end
end
describe "GET #create" do
it "returns http success" do
get :create
expect(response).to have_http_status(:success)
end
end
describe "GET #show" do
it "returns http success" do
get :show
expect(response).to have_http_status(:success)
end
end
end

View File

@ -1,40 +0,0 @@
require 'rails_helper'
RSpec.describe ProtectedBranchesController, type: :controller do
describe "GET #index" do
it "returns http success" do
get :index
expect(response).to have_http_status(:success)
end
end
describe "GET #create" do
it "returns http success" do
get :create
expect(response).to have_http_status(:success)
end
end
describe "GET #edit" do
it "returns http success" do
get :edit
expect(response).to have_http_status(:success)
end
end
describe "GET #update" do
it "returns http success" do
get :update
expect(response).to have_http_status(:success)
end
end
describe "GET #destroy" do
it "returns http success" do
get :destroy
expect(response).to have_http_status(:success)
end
end
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe QuestionBanksController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe SchoolsController, type: :controller do
end

View File

@ -48,58 +48,121 @@ RSpec.describe SponsorshipsController, type: :controller do
# in order to pass any filters (e.g. authentication) defined in # in order to pass any filters (e.g. authentication) defined in
# SponsorshipsController. Be sure to keep this updated too. # SponsorshipsController. Be sure to keep this updated too.
let(:valid_session) { {www_user_id: 5} } let(:valid_session) { {www_user_id: 5} }
let(:visitor_session) { {www_user_id: 4} }
describe "GET #index" do
it "returns a success response" do describe 'GET #index' do
before {Sponsorship.create valid_attributes}
it 'success' do
Sponsorship.create! valid_attributes Sponsorship.create! valid_attributes
get :index, params: {}, format: 'json', session: valid_session get :index, params: {}, format: 'json', session: valid_session
expect(response.body).to eq('[]') expect(response).to be_successful
end end
end end
describe "GET #stopped" do describe 'GET #stopped' do
it "returns a success response" do it 'returns a success response' do
sponsorship=StoppedSponsorship.create! valid_attributes sponsorship=StoppedSponsorship.create! valid_attributes
get :stopped, params: {}, format: 'json', session: valid_session get :stopped, params: {}, format: 'json', session: valid_session
expect(response).to be_successful expect(response).to be_successful
end end
end end
describe "GET #show" do describe 'GET #sponsored' do
it "returns a success response" do context 'owner' do
it 'returns a success response' do
sponsorship=Sponsorship.create! valid_attributes
get :sponsored, params: {id: 5}, format: 'json', session: valid_session
expect(response).to be_successful
end
end
context 'visitor' do
it 'returns a success response' do
sponsorship=Sponsorship.create! valid_attributes
get :sponsored, params: {id: 5}, format: 'json', session: visitor_session
expect(response).to be_successful
end
end
end
describe 'GET #sponsoring' do
# before {Sponsorship.create! valid_attributes}
context 'owner' do
it 'returns a success response' do
# sponsorship=Sponsorship.create! valid_attributes
get :sponsoring, params: {id: 5}, format: 'json', session: valid_session
expect(response).to be_successful
end
end
context 'visitor' do
it 'returns a success response' do
# sponsorship=Sponsorship.create! valid_attributes
get :sponsoring, params: {id: 5}, format: 'json', session: visitor_session
expect(response).to be_successful
end
end
end
describe 'GET #stopped_sponsored' do
it 'returns a success response' do
sponsorship=Sponsorship.create! valid_attributes
get :stopped_sponsored, params: {id: 5}, format: 'json', session: valid_session
expect(response).to be_successful
end
end
describe 'GET #stopped_sponsoring' do
before {Sponsorship.create! valid_attributes}
it 'returns a success response' do
# sponsorship=Sponsorship.create! valid_attributes
get :stopped_sponsoring, params: {id: 5}, format: 'json', session: valid_session
expect(response).to be_successful
end
end
describe 'GET #show' do
it 'returns a success response' do
sponsorship = Sponsorship.create! valid_attributes sponsorship = Sponsorship.create! valid_attributes
get :show, params: {id: sponsorship.to_param}, session: valid_session get :show, params: {id: sponsorship.to_param}, session: valid_session
expect(response).to be_successful expect(response).to be_successful
end end
end end
describe "POST #create" do describe 'GET #community_data' do
context "with valid params" do it 'returns a success response' do
it "creates a new Sponsorship" do sponsorship = Sponsorship.create! valid_attributes
get :community_data, params: {}, session: valid_session
expect(response).to be_successful
end
end
describe 'POST #create' do
context 'with valid params' do
it 'creates a new Sponsorship' do
expect { expect {
post :create, params: {sponsorship: valid_create_api_attributes}, session: valid_session post :create, params: {sponsorship: valid_create_api_attributes}, session: valid_session
}.to change(Sponsorship, :count).by(1) }.to change(Sponsorship, :count).by(1)
end end
it "redirects to the created sponsorship" do it 'redirects to the created sponsorship' do
post :create, params: {sponsorship: valid_create_api_attributes}, session: valid_session post :create, params: {sponsorship: valid_create_api_attributes}, session: valid_session
expect(response).to be_ok expect(response).to be_ok
end end
end end
context "single sponsor" do context 'single sponsor' do
let(:valid_single_params){ let(:valid_single_params){
{amount: 10, visible: 1, developer_id: 1, single: true} {amount: 10, visible: 1, developer_id: 1, single: true}
} }
it "creates a stopped sponsorship" do it 'creates a stopped sponsorship' do
expect { expect {
post :create, params: {amount: 10, visible: 1, developer_id: 1, single: true}, session: valid_session post :create, params: {amount: 10, visible: 1, developer_id: 1, single: true}, session: valid_session
}.to change(StoppedSponsorship, :count).by(0) }.to change(StoppedSponsorship, :count).by(0)
end end
end end
context "repeat sponsor" do context 'repeat sponsor' do
it "creates only one new Sponsorship" do it 'creates only one new Sponsorship' do
Sponsorship.create! valid_attributes Sponsorship.create! valid_attributes
expect { expect {
post :create, params: {sponsorship: valid_create_api_attributes}, session: valid_session post :create, params: {sponsorship: valid_create_api_attributes}, session: valid_session
@ -107,7 +170,7 @@ RSpec.describe SponsorshipsController, type: :controller do
end end
end end
context "with invalid params" do context 'with invalid params' do
it "returns a success response (i.e. to display the 'new' template)" do it "returns a success response (i.e. to display the 'new' template)" do
post :create, params: {sponsorship: invalid_attributes}, session: valid_session post :create, params: {sponsorship: invalid_attributes}, session: valid_session
expect(response).to be_successful expect(response).to be_successful
@ -115,13 +178,13 @@ RSpec.describe SponsorshipsController, type: :controller do
end end
end end
describe "PUT #update" do describe 'PUT #update' do
context "with valid params" do context 'with valid params' do
let(:new_attributes) { let(:new_attributes) {
{amount: 20, visible: 0} {amount: 20, visible: 0}
} }
it "updates the requested sponsorship" do it 'updates the requested sponsorship' do
sponsorship = Sponsorship.create! valid_attributes sponsorship = Sponsorship.create! valid_attributes
put :update, params: {id: sponsorship.to_param, sponsorship: new_attributes}, session: valid_session put :update, params: {id: sponsorship.to_param, sponsorship: new_attributes}, session: valid_session
sponsorship.reload sponsorship.reload
@ -129,7 +192,7 @@ RSpec.describe SponsorshipsController, type: :controller do
expect(sponsorship.visible).to eq(0) expect(sponsorship.visible).to eq(0)
end end
it "does not updates the requested sponsorship with wrong user" do it 'does not updates the requested sponsorship with wrong user' do
sponsorship = Sponsorship.create! invalid_user_attributes sponsorship = Sponsorship.create! invalid_user_attributes
put :update, params: {id: sponsorship.to_param, sponsorship: new_attributes}, session: valid_session put :update, params: {id: sponsorship.to_param, sponsorship: new_attributes}, session: valid_session
sponsorship.reload sponsorship.reload
@ -137,14 +200,14 @@ RSpec.describe SponsorshipsController, type: :controller do
expect(sponsorship.visible).to eq(1) expect(sponsorship.visible).to eq(1)
end end
it "return ok" do it 'return ok' do
sponsorship = Sponsorship.create! valid_attributes sponsorship = Sponsorship.create! valid_attributes
put :update, params: {id: sponsorship.to_param, sponsorship: valid_attributes}, session: valid_session put :update, params: {id: sponsorship.to_param, sponsorship: valid_attributes}, session: valid_session
expect(response).to be_ok expect(response).to be_ok
end end
end end
context "with invalid params" do context 'with invalid params' do
it "returns a success response (i.e. to display the 'edit' template)" do it "returns a success response (i.e. to display the 'edit' template)" do
sponsorship = Sponsorship.create! valid_attributes sponsorship = Sponsorship.create! valid_attributes
put :update, params: {id: sponsorship.to_param, sponsorship: invalid_attributes}, session: valid_session put :update, params: {id: sponsorship.to_param, sponsorship: invalid_attributes}, session: valid_session
@ -153,28 +216,28 @@ RSpec.describe SponsorshipsController, type: :controller do
end end
end end
describe "DELETE #destroy" do describe 'DELETE #destroy' do
it "destroys the requested sponsorship" do it 'destroys the requested sponsorship' do
sponsorship = Sponsorship.create! valid_attributes sponsorship = Sponsorship.create! valid_attributes
expect { expect {
delete :destroy, params: {id: sponsorship.to_param}, session: valid_session delete :destroy, params: {id: sponsorship.to_param}, session: valid_session
}.to change(Sponsorship, :count).by(-1) }.to change(Sponsorship, :count).by(-1)
end end
it "destroys the requested sponsorship" do it 'destroys the requested sponsorship' do
sponsorship = Sponsorship.create! invalid_user_attributes sponsorship = Sponsorship.create! invalid_user_attributes
expect { expect {
delete :destroy, params: {id: sponsorship.to_param}, session: valid_session delete :destroy, params: {id: sponsorship.to_param}, session: valid_session
}.to change(Sponsorship, :count).by(0) }.to change(Sponsorship, :count).by(0)
end end
it "return ok" do it 'return ok' do
sponsorship = Sponsorship.create! valid_attributes sponsorship = Sponsorship.create! valid_attributes
delete :destroy, params: {id: sponsorship.to_param}, session: valid_session delete :destroy, params: {id: sponsorship.to_param}, session: valid_session
expect(response).to be_ok expect(response).to be_ok
end end
it "return ok" do it 'return ok' do
sponsorship = Sponsorship.create! invalid_user_attributes sponsorship = Sponsorship.create! invalid_user_attributes
delete :destroy, params: {id: sponsorship.to_param}, session: valid_session delete :destroy, params: {id: sponsorship.to_param}, session: valid_session
expect(response).to be_ok expect(response).to be_ok

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe StagesController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe StudentWorksController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe SubjectListsController, type: :controller do
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe TrustieHacksController, type: :controller do
end

View File

@ -2,11 +2,51 @@ require 'rails_helper'
RSpec.describe WalletsController, type: :controller do RSpec.describe WalletsController, type: :controller do
describe "GET #balance" do let(:valid_session) {
it "returns http success" do {user_id: 5, www_user_id: 5}
get :balance }
describe 'GET #balance' do
it 'returns http success' do
get :balance, params: {id: 5}, session: valid_session
expect(response).to have_http_status(:success) expect(response).to have_http_status(:success)
end end
end end
describe 'GET #coin_changes' do
context 'all' do
it 'success' do
get :coin_changes, params: {id: 5, category: 'all'}, session: valid_session
expect(response).to have_http_status(:success)
end
end
context 'income' do
it 'success' do
get :coin_changes, params: {id: 5, category: 'income'}, session: valid_session
expect(response).to have_http_status(:success)
end
end
context 'outcome' do
it 'success' do
get :coin_changes, params: {id: 5, category: 'outcome'}, session: valid_session
expect(response).to have_http_status(:success)
end
end
end
describe 'GET #balance_chart' do
it 'returns http success' do
get :balance_chart, params: {id: 5}, session: valid_session
expect(response).to have_http_status(:success)
end
end
describe 'GET #community_data' do
it 'returns http success' do
get :community_data, params: {id: 5}, session: valid_session
expect(response).to have_http_status(:success)
end
end
end end

View File

@ -1,15 +0,0 @@
require 'rails_helper'
# Specs in this file have access to a helper object that includes
# the ExerciseQuestionsHelper. For example:
#
# describe ExerciseQuestionsHelper do
# describe "string concat" do
# it "concats two strings with spaces" do
# expect(helper.concat_strings("this","that")).to eq("this that")
# end
# end
# end
RSpec.describe ExerciseQuestionsHelper, type: :helper do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,15 +0,0 @@
require 'rails_helper'
# Specs in this file have access to a helper object that includes
# the ExportHelper. For example:
#
# describe ExportHelper do
# describe "string concat" do
# it "concats two strings with spaces" do
# expect(helper.concat_strings("this","that")).to eq("this that")
# end
# end
# end
RSpec.describe ExportHelper, type: :helper do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,15 +0,0 @@
require 'rails_helper'
# Specs in this file have access to a helper object that includes
# the HomeworkBanksHelper. For example:
#
# describe HomeworkBanksHelper do
# describe "string concat" do
# it "concats two strings with spaces" do
# expect(helper.concat_strings("this","that")).to eq("this that")
# end
# end
# end
RSpec.describe HomeworkBanksHelper, type: :helper do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,15 +0,0 @@
require 'rails_helper'
# Specs in this file have access to a helper object that includes
# the HomeworkCommonsHelper. For example:
#
# describe HomeworkCommonsHelper do
# describe "string concat" do
# it "concats two strings with spaces" do
# expect(helper.concat_strings("this","that")).to eq("this that")
# end
# end
# end
RSpec.describe HomeworkCommonsHelper, type: :helper do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,15 +0,0 @@
require 'rails_helper'
# Specs in this file have access to a helper object that includes
# the PollsHelper. For example:
#
# describe PollsHelper do
# describe "string concat" do
# it "concats two strings with spaces" do
# expect(helper.concat_strings("this","that")).to eq("this that")
# end
# end
# end
RSpec.describe PollsHelper, type: :helper do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,15 +0,0 @@
require 'rails_helper'
# Specs in this file have access to a helper object that includes
# the QuestionBanksHelper. For example:
#
# describe QuestionBanksHelper do
# describe "string concat" do
# it "concats two strings with spaces" do
# expect(helper.concat_strings("this","that")).to eq("this that")
# end
# end
# end
RSpec.describe QuestionBanksHelper, type: :helper do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,15 +0,0 @@
require 'rails_helper'
# Specs in this file have access to a helper object that includes
# the SchoolsHelper. For example:
#
# describe SchoolsHelper do
# describe "string concat" do
# it "concats two strings with spaces" do
# expect(helper.concat_strings("this","that")).to eq("this that")
# end
# end
# end
RSpec.describe SchoolsHelper, type: :helper do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,15 +0,0 @@
require 'rails_helper'
# Specs in this file have access to a helper object that includes
# the StudentWorksHelper. For example:
#
# describe StudentWorksHelper do
# describe "string concat" do
# it "concats two strings with spaces" do
# expect(helper.concat_strings("this","that")).to eq("this that")
# end
# end
# end
RSpec.describe StudentWorksHelper, type: :helper do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,15 +0,0 @@
require 'rails_helper'
# Specs in this file have access to a helper object that includes
# the SubjectListsHelper. For example:
#
# describe SubjectListsHelper do
# describe "string concat" do
# it "concats two strings with spaces" do
# expect(helper.concat_strings("this","that")).to eq("this that")
# end
# end
# end
RSpec.describe SubjectListsHelper, type: :helper do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CreateStudentWorkJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CreateSubjectCourseStudentJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HomeworkAbsencePenaltyCalculationJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HomeworkAnonymousAppealStartNotifyJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HomeworkBatchCommentJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HomeworkEndUpdateScoreJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HomeworkEvaluationCommentAssginJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HomeworkEvaluationStartNotifyJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe HomeworkPublishUpdateWorkStatusJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe LivePublishJob, type: :job do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe Board, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe Career, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe ChallengeAnswer, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe ChallengeSample, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe ChallengeWorkScore, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CompetitionAward, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CompetitionCourseCourseRecord, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CompetitionCourseRecord, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CompetitionCourseShixunRecord, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CompetitionModeSetting, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CompetitionSchool, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -1,5 +0,0 @@
require 'rails_helper'
RSpec.describe CompetitionScore, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end

Some files were not shown because too many files have changed in this diff Show More