Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.
Go to file
kamre a498149a76
[GH-42] Cypress tests for login actions (#1679)
* Testing API added to server:
 - registered only if `enableTestingAPI` is set to `true` in the config file
 - has only one route `test/reset`
 - reset clears the tables in db for blocks, users, sessions
 - functions `DeleteAllBlocks` and `DeleteAllUsers` added to `Store` interface
 - new functions implemented for `SQLStore`

* Cypress tests (initial version) for login actions added:

  - redirect to login page,
  - register user,
  - test for loading home page deleted,
  - allow js in `tsconfig.json` for cypress tests.

* Cypress tests for login actions:

  - check that main page with workspace is visible after registration,
  - initial version of test for login of register user.

* Cypress tests for login actions:

  - function for checking that workspace is available added,
  - functions for login and logout added,
  - test for password change added,
  - session parameters added to server config for cypress testing.

* Switch Cypress tests to typescript.

* Use ids for inputs instead of placeholder text.

* Use cypress request for login without loading login page.

* Cypress custom command for login added.

* Cypress tests fixed:
 - new cypress commands for server reset, register/login user
 - single test for "create and delete board/card"
 - fixes for `BoardPage` component useEffect callbacks
 - npm script `runserver-test` doesn't use single user mode

* Deletion of all blocks changed:
 - also deletes blocks from history
 - public function renamed to DeleteAllBlocksPermanently
 - code for mocks and public methods generated

* Server tests for files fixed on windows.

* Cypress tests for the registration of second user via invite link added.

* Added `baseUrl` in main `tsconfig.json` (required by cypress configuration).

* Cypress test fixed. Comments as well as log messages added.

* Log a message if testing API is enabled.

* Single cypress test for register/login actions.

* Revert changes to server.

* More convenient cypress commands:
  - all API calls made as separate commands
  - declarations for commands moved to separate global.d.ts file
  - utility functions moved after test actions in 'Login actions' test
2021-11-22 16:59:01 +01:00
.github
.vscode
build
docker
experiments/webext
import
linux Adds data migrations and the unique IDs migration (#1776) 2021-11-11 17:01:43 +01:00
mac Fix #1839. Update Mac App for v0.10.0 (#1842) 2021-11-16 10:54:54 -08:00
mattermost-plugin Shows the version change banner only on plugin update and tries to reconnect when the interface is refreshed (#1807) 2021-11-13 12:03:53 +01:00
server 425|Added unit tests for workspaces.go (#1800) 2021-11-22 01:46:51 -05:00
webapp [GH-42] Cypress tests for login actions (#1679) 2021-11-22 16:59:01 +01:00
website Update README.md (#1343) 2021-11-22 17:16:25 +02:00
win-wpf
.dockerignore
.editorconfig
.gitignore
.gitlab-ci.yml
app-config.json
CHANGELOG.md
config.json
CONTRIBUTING.md
Dockerfile.build
LICENSE.txt
Makefile
modd-servertest.conf
modd-watchplugin.conf
modd.conf
NOTICE.txt
README.md fixing readme broken since #1663 completed (#1808) 2021-11-12 08:07:56 -05:00
responsible_disclosure_policy.md
server-config.json

Focalboard

CI Status CodeQL Dev Release Prod Release

Like what you see? 👀 Give us a GitHub Star!

Focalboard

Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.

It helps define, organize, track and manage work across individuals and teams. Focalboard comes in two editions:

  • Focalboard Personal Desktop: A stand-alone desktop app for your todos and personal projects. This is a single-tenant locally run server running Focalboard for optimal speed and performance.

  • Focalboard Personal Server: A self-hosted server for your team to collaborate.

The same MIT-licensed binary powers both desktop and server editions.

Try out Focalboard

Focalboard Personal Desktop (Windows, Mac or Linux Desktop)

Try out Focalboard Personal Desktop by going to the Windows Store or the Apple AppStore, searching for Focalboard and installing to run the compiled version locally.

If you're running a Linux Desktop, download the latest focalboard-linux.tar.gz release, unpack the .tar.gz archive, and open focalboard-app from the focalboard-app folder.

Note: For Windows and Mac users, while we don't yet offer Focalboard Personal Desktop outside of Store-based installs, it is in consideration for the future (please upvote the ticket if you're interested in this addition).

Focalboard Personal Server (Ubuntu)

You can download and run the compiled Focalboard Personal Server by following our latest install guide.

Download the latest server release from GitHub releases

Building the server

Please refer to the Developer's Tips & Tricks for more detailed steps. Here's a summary:

First, install basic dependencies:

  • Go 1.15+
  • Node 10+ and npm
  • Mingw64 on Windows
make prebuild
make

Running and testing the server

To start the server, run ./bin/focalboard-server

Server settings are in config.json (or the path specified with --config).

Open a browser to http://localhost:8000 to start.

Building and running standalone desktop apps

You can build standalone apps that package the server to run locally against SQLite:

  • Mac:
    • make mac-app
    • run mac/dist/Focalboard.app
    • Requires: macOS Catalina (10.15)+, Xcode 12+.
  • Linux:
    • Install webgtk dependencies
      • sudo apt-get install libgtk-3-dev
      • sudo apt-get install libwebkit2gtk-4.0-dev
    • make linux-app
    • run linux/dist/focalboard-app
    • Tested with: Ubuntu 18.04
  • Windows:
    • Open a git-bash prompt
    • make win-wpf-app
    • run cd win-wpf/msix && focalboard.exe
    • Requires: Windows 10
  • Docker:
    • To run it localy from Offical Image
    • docker run -it -p 80:8000 mattermost/focalboard
    • To Build it for your Current Architekture
    • docker build -f docker/Dockerfile .
    • To Build it for a custom Architekture (Expiremental)
    • docker build -f docker/Dockerfile --platform linux/arm64 .

Cross-compilation currently isn't fully supported, so please build on the appropriate platform. Refer to the GitHub Actions workflows (build-mac.yml, build-win.yml, build-ubuntu.yml) for the detailed list of steps on each platform.

Unit tests

Before checking-in commits, run: make ci, which is similar to the ci.yml workflow and includes:

  • Server unit tests: make server-test
  • Webapp eslint: cd webapp; npm run check
  • Webapp unit tests: cd webapp; npm run test
  • Webapp UI tests: cd webapp; npm run cypress:ci

Stay informed on progress

Share your feedback

File bugs, suggest features, join our forum, learn more here!

Contributing

Contribute code, bug reports, and ideas to the future of the Focalboard project. We welcome your input! Please see CONTRIBUTING.md for details on how to get involved.