* __test: create geneset
* example dataset test geneset
* delete geneset test
* edit __test
* gene crud
* Update client/Makefile
Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com>
* copy gene sets separately
* make fix
* ignore test files locally
* csv update
* updated csvs
* fix unit tests for gene set load routes
* add missing fix to czi_hosted unit test
* pin tiledb version, for czi_hosted backend, to <0.9
* Revert tiledb pin to be less than 0.9. Broken tests have been updated in main branch.
* newline, gitignore
* color by and subset
* diffexp sets equal
* add diff exp test class
* fix data class
* diffexp snapshot
* snapshot
* snap3
* snapshot parentInnerhtml
* remove snap
* updated anno snaps
* add test class to gene list div
* new snapshots
* kick off
* Revert "kick off"
This reverts commit 743f551d55.
* remove import
* eol
* revert changes to csv re: gene tests
* global name
Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com>
Co-authored-by: bkmartinjr <bruce@chanzuckerberg.com>
Co-authored-by: Arathi Mani <arathi.mani@chanzuckerberg.com>
Co-authored-by: maniarathi <mani.arathi@gmail.com>
This splits the backend into two parts: the local backend for desktop cellxgene and the AWS backend for hosted cellxgene. The local backend is in local_server while the hosted remains in server. The general idea is to copy everything from server to local_server, pull unneeded stuff out of local_server, and keep server as-is for this PR. Not touching server means all the infra and deployment code will continue working just as it did before so we can make those changes incrementally.
This PR adds a few helpful additions regarding authentication.
Changes:
* e2e tests are now run on test_oauth via a passed config.yaml
* node dev server correctly handles `/login` and `/logout` endpoints to make developing for auth easier
* Introduced auth e2e tests to check that buttons display and work
* 1510-smoke-test
* config default
* update tests
* update test config
* fix linter errors
* more comments
* address comments
* use npm install in push_tests.yml
* use environment.default.json
* adding docs
* Take care of @mweiden's nits
* Save screenshots in the __tests__/screenshots/ directory
* typo
* docs
* Add chart tests (#1580)
* merge tests
* check if bin creation returned null before rendering charts (#1576)
* check if bin creation returned null before rendering charts
* refactor chart rendering into functions (#1577)
* little fixes from PR
* reintroduce fix to check for null values
* change getAllByClass to return element
* slice instead
* new stackedbar test
* feedback-1573-test (#1579)
* feedback-1573-test
* enable whole test set
* revert tests
Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com>
* tweak test to actually render chart
* include snapshot
* remove async
* fix getAllHistograms
* properly grab id
Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com>
Co-authored-by: Matt Weiden <538456+mweiden@users.noreply.github.com>
Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com>
* add sentry webpack plugin
* allow override of webpack config
* work around cheerio inability to parse jinga templates
* webpack can not minify jinja templates
* allow script injection to specify other attributes
* allow script injection to specify other attributes
* Adjustments to make plugin systems work
* Add sourcemaps for javascript in prod webpack
* Update .gitignore
* Fix spelling errors
Co-authored-by: Matt Weiden <538456+mweiden@users.noreply.github.com>
* Cleanup the backend-dev convenience method
* Add the frontend_dev convenience method
frontend_dev is a soup-to-nuts convenience method for setting up the FE
development environment with node running a the client code on port 3000
with the a separate cellxgene package serving the API over port 5005 in
the background.
The script can be run from Finder.
* Update the developer scripts documentation
* Remove the 'test' make target in the client Makefile
Rationale:
* Given how long the smoke tests take to run, it is unlikely that
developers will want to run all tests together.
* It is unlikely that developers will have set up the backend server
properly for the tests to pass.
* Available commands should be safe-ish and not lend themselves to
confusing errors.
* You can still group tests by concatenating them in a make command, as
in `make unit-test smoke-test`.
* This target isn't used in any of our CI pipelines -- KISS.
* Some version of python3...
* Minor typos in docs
* Respond to feedback from @bkmartinjr
* Make adjustments so that DATASET path is predictable
* Simplify environment defaults a bit
* add lint-client and lint-diff-client targets
* add lint-diff and lint targets
* prettier
* add lint-diff call to lint task
* temp
* tweak lint-diff
* add lint for PRs and lint for master
* remove temp
* remove incorrect branches syntax, use github_ref
* pull all branches
* format
* proper target and comment
* create separate steps with conditionals
* fix indentation
* refactor lint->lint-server, introduce lint to lint all
* trade diff-index for diff, do check against base instead of master
* remove fetching all branches
* Revert "remove fetching all branches"
This reverts commit 26ce7a0f05.
* tweak comparison
* use local eslint
* add eslint dep install
* temp
* grab only base
* simplify fetch
* add pull_request type trigger
* specify pushes only to master
* change conditionals to be based on event name
* Revert "temp"
This reverts commit 3d59134cc0.
* "branch" => "branches"
* create separate installation step
* change command based on os
* Add codecov to Push Test workflow
* Empty commit
* Clear reports and tag each with flags
* Tag code reports by test
* Fix codecov tags
* One more fix
* Add user-generated annotations tests to the server
Partially completes https://github.com/chanzuckerberg/cellxgene/issues/969
* Auto-format python code
* @skip_if: passing lambdas > than property strings
* Respond to feedback from @bkmartinjr
* Add smoke test for annotations features
* Do not save during annotations tests
* Fix botched rebase in dev guidelines
* Revert "Do not save during annotations tests"
This reverts commit f0bd970bb2.
* Respond to feedback from @bkmartinjr
* Collect all env vars in one, easy-to-find place
Past state:
* Default environement variables were stored in both client/package.json
and client/__tests__/e2e/config.js
* Constants that should have been linked--like the cellxgene server port
during testing--were repeated.
With this commit:
* All environment variables are parameterized
* All environment variables are packaged in default env files
* Move npm scripts to client Makefile
* Respond to feedback from @seve and @bkmartinjr
Currently the client build is not reproducible since, each time you run
`make build-client` the package lockfile is updated. This should be
handled separately by `make gen-package-lock` when developers actually
want to update the dependencies.
`npm ci` installs dependencies directly from the lockfile without
updating them, making builds reproducible.
* Fix Makefile whitespace and .PHONY use
* Fix Makefile filename
* Modularize Makefile into client and server Makefiles
Part of the reason that the Makefile in the root directory is a bit
complicated is that it tries to handle tasks that can be handled
separately in the client and server modules.
This commit pushes some of the make logic specific to each module into
their own makefiles and calls out to those makefiles from that in the
project root.
* Add auto-formatting to client and server modules
One thing that can make linting faster is auto-formatting. This commit
adds the yapf auto-formatting tool to the server module and uses
eslint's "fix" functionality to speed up the linting/formatting process.
* Add yapf for automatic code formatting
* Add a root test target that calls sub-tests
* Apply yapf to python files
* Do not duplicate npm commands, simply pass through
* Update documentation
* Do not shadow reserved word len
* Add general test target
* Fix make call in dev-env
* Use black instead of yapf
* Run flake8 from the root directory
* Revert "Apply yapf to python files"
This reverts commit cdca128a01.
* Apply black to python code
* Resolve lint errors resulting from black format
* Add explanation of server unit tests in dev guidelines