Go to file
Jon Jensen fb3966a62d Great Expectations, fixes SD-2065
Find/fix/prevent weird stuff we are doing (or not doing) with `expect`.

Chapter I:

    "I have been bent and broken, but - I hope - into a better shape."

Disallow `expect`s in a `before`. `before` is by definition before the
test, so it's not the place to be asserting anything. You can of course
still set up mocks there.

Chapter II:

    "Take nothing on its looks; take everything on evidence. There's no
    better rule."

Ensure every `expect` actually runs. i.e. it needs `to` or `not_to` in
order to actually do anything.

Chapter III:

    "Ask no questions, and you'll be told no lies."

In selenium land, ensure every spec has at least one expecation. In
regular rspec land we just warn to stderr, but we may get more strict
in the future.

Test Plan: Specs

Change-Id: I5fc353ee8171e5191853d45f42ae42478f9220b4
Reviewed-on: https://gerrit.instructure.com/101224
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-02-13 17:25:09 +00:00
Gemfile.d rails 5/ruby 24: use unreleased rails to fix Fixnum deprecation warnings 2017-02-10 19:17:15 +00:00
app fix conversation tags when sending to own course 2017-02-13 17:14:25 +00:00
bin update spring and binstub 2016-10-06 20:25:33 +00:00
build move CI gergich formatters into canvas 2016-11-10 21:49:29 +00:00
client_apps Get webpack builds working again 2016-11-08 19:51:43 +00:00
config rails 5: change alias_method_chain to prepended modules 2017-02-10 19:42:29 +00:00
db/migrate change lti_tool_proxies.description column to text 2017-02-09 18:24:10 +00:00
doc edit broken command for docker setup 2017-02-04 02:10:56 +00:00
docker-compose Add Live Events Publish Service 2017-02-02 19:09:58 +00:00
frontend_build [webpack] add happypack to make build faster 2017-02-11 23:36:02 +00:00
gems Great Expectations, fixes SD-2065 2017-02-13 17:25:09 +00:00
guard upgrade guard and pin development gems 2017-01-03 22:05:03 +00:00
lib Add front end max_name_length validations for Assignments 2017-02-11 00:43:47 +00:00
public [webpack] add happypack to make build faster 2017-02-11 23:36:02 +00:00
script handle timezone data loading out-of-band from webpack 2017-02-10 23:42:48 +00:00
spec Great Expectations, fixes SD-2065 2017-02-13 17:25:09 +00:00
.babelrc strip out react propTypes in prod webpack build 2017-02-08 00:12:47 +00:00
.bowerrc introduced bower to manage js dependencies 2013-12-13 17:45:57 +00:00
.codeclimate.yml tell CodeClimate to use ESLint 3 2017-01-03 21:53:43 +00:00
.dockerignore fix incorrect .dockerignore of translations/_core_en.js 2016-12-15 18:39:27 +00:00
.editorconfig Add EditorConfig configuration file to help maintain code style 2016-11-15 20:08:55 +00:00
.eslintignore Update eslint/airbnb-eslint-config 2017-01-18 18:05:09 +00:00
.eslintrc.common.js [eslint] no-underscore-dangle and some import rules 2017-02-06 15:40:11 +00:00
.eslintrc.js [eslint] no-underscore-dangle and some import rules 2017-02-06 15:40:11 +00:00
.gitignore ruby 2.4 has been tested 2017-02-07 18:35:12 +00:00
.i18nignore bump rails 3 to github branch for ruby 2.2 compatibility 2015-02-18 22:55:20 +00:00
.i18nrc upgrade to node 6 2016-08-09 23:37:07 +00:00
.jshintrc make jslint settings more sane 2012-08-17 11:04:40 -06:00
.npmrc fix brand config previewing and skipping 2015-10-27 16:16:15 +00:00
.nvmrc bump node version to v6.9.5 (latest LTS) 2017-02-09 22:31:33 +00:00
.rubocop.yml spec: don't nitpick spies vs. message expectations 2017-02-09 17:23:33 +00:00
.selinimumignore Revert and bring InstIcons into Canvas 2016-11-29 20:52:54 +00:00
.stylelintrc stylelint, refs SD-1603 2016-10-25 00:21:16 +00:00
.travis.yml more travis builds 2014-02-10 16:23:19 +00:00
CONTRIBUTING.md Update contributing guidelines with linter information 2017-01-23 16:24:52 +00:00
COPYRIGHT Initial commit. 2011-01-31 18:57:29 -07:00
Dockerfile Stop bundle/npm installing as root 2017-02-08 21:22:32 +00:00
Gemfile remove rails 4.0 support 2016-10-25 17:17:22 +00:00
Guardfile upgrade guard and pin development gems 2017-01-03 22:05:03 +00:00
LICENSE Initial commit. 2011-01-31 18:57:29 -07:00
README.md Update README.md since Canvas is still modern 2016-12-15 03:18:28 +00:00
Rakefile remove dead parallelized specs task 2016-11-10 21:41:08 +00:00
bower.json use node_modules wherever possible 2016-11-01 15:14:52 +00:00
code_of_conduct.md contributor code of conduct 2014-12-23 18:13:59 +00:00
config.ru start adding rails 3.0 support 2013-03-22 19:08:40 +00:00
docker-compose.override.yml Add more volumes 2016-11-28 22:40:23 +00:00
docker-compose.yml docker-compose.yml v2 2016-11-15 17:06:37 +00:00
gulpfile.js handle timezone data loading out-of-band from webpack 2017-02-10 23:42:48 +00:00
issue_template.md Add issue_template.md for GitHub issues 2016-02-17 21:00:48 +00:00
karma.conf.js remove unused require in karma.conf.js 2017-02-13 15:34:59 +00:00
package.json update some NPM packages 2017-02-13 15:53:27 +00:00
webpack.config.js don't pass frontend build files through babel 2016-11-08 20:29:29 +00:00
webpack.production.config.js parallelize the uglify step of webpack prod build 2017-02-06 16:10:37 +00:00
webpack.test.config.js [webpack] add happypack to make build faster 2017-02-11 23:36:02 +00:00

README.md

Canvas LMS

Canvas is a modern, open-source LMS developed and maintained by Instructure Inc. It is released under the AGPLv3 license for use by anyone interested in learning more about or using learning management systems.

Please see our main wiki page for more information

Installation

Detailed instructions for installation and configuration of Canvas are provided on our wiki.