mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-12 12:40:08 +08:00
6695de4187
Summary: 1. **Generic CUD Tasks**: There is now a generic `CreateModelTask`, `UpdateModelTask`, and `DestroyModelTask`. These can either be used as-is or trivially overridden to easily update simple objects. Hopefully all of the boilerplate rollback, error handling, and undo logic won't have to be re-duplicated on every task. There are also tests for these tasks. We use them to perform mutating actions on `Metadata` objects. 1. **Failing on Promise Rejects**: Turns out that if a Promise rejected due to an error or `Promise.reject` we were ignoring it and letting tests pass. Now, tests will Fail if any unhandled promise rejects. This uncovered a variety of errors throughout the test suite that had to be fixed. The most significant one was during the `theme-manager` tests when all packages (and their stores with async DB requests) was loaded. Long after the `theme-manager` specs finished, those DB requests were (somtimes) silently failing. 1. **Globally stub `DatabaseStore._query`**: All tests shouldn't actually make queries on the database. Furthremore, the `inTransaction` block doesn't resolve at all unless `_query` is stubbed. Instead of manually remembering to do this in every test that touches the DB, it's now mocked in `spec_helper`. This broke a handful of tests that needed to be manually fixed. 1. **ESLint Fixes**: Some minor fixes to the linter config to prevent yelling about minor ES6 things and ensuring we have the correct parser. Test Plan: new tests Reviewers: bengotow, juan, drew Differential Revision: https://phab.nylas.com/D2419 Remove cloudState and N1-Send-Later |
||
---|---|---|
.. | ||
components | ||
extensions | ||
fixtures | ||
models | ||
services | ||
stores | ||
tasks | ||
action-bridge-spec.coffee | ||
auto-update-manager-spec.coffee | ||
buffered-process-spec.coffee | ||
clipboard-spec.coffee | ||
component-registry-spec.coffee | ||
database-object-registry-spec.coffee | ||
database-view-spec.coffee | ||
dom-utils-spec.coffee | ||
extension-registry-spec.coffee | ||
jasmine-helper.coffee | ||
jasmine-jquery.js | ||
jasmine.js | ||
launch-services-spec.coffee | ||
mail-rules-processor-spec.coffee | ||
menu-manager-spec.coffee | ||
model-view-selection-spec.coffee | ||
model-view-spec.coffee | ||
module-cache-spec.coffee | ||
n1-spec-reporter.coffee | ||
nylas-api-spec.coffee | ||
nylas-env-spec.coffee | ||
nylas-protocol-handler-spec.coffee | ||
nylas-test-utils.coffee | ||
package-manager-spec.coffee | ||
package-spec.coffee | ||
quoted-html-transformer-spec.coffee | ||
quoted-plain-text-transformer-spec.coffee | ||
spec-bootstrap.coffee | ||
spec-helper-platform.coffee | ||
spec-helper.coffee | ||
spec-suite.coffee | ||
spellchecker-spec.coffee | ||
style-manager-spec.coffee | ||
styles-element-spec.coffee | ||
theme-manager-spec.coffee | ||
time-override.coffee | ||
time-reporter.coffee | ||
undo-manager-spec.coffee | ||
utils-spec.coffee |