RETIRED, Fuel Web UI
Go to file
Julia Aranovich 468dcd1dc4 Fix syntax in intern tests
!A || B logic changed to A && B into functional tests.

Partial-Bug: #1626059

Change-Id: I31cfd2145c4fc3f5cf85c51340bee5f734ba0dab
2016-09-22 12:45:23 +03:00
fixtures/ostf Add ostf fake server responses to dev server 2016-06-02 09:35:05 +03:00
gulp Forcing eslint max-len rule 2016-01-25 20:06:45 +03:00
specs Adjust spec file for new version of nodejs-nailgun 2016-05-30 22:13:34 +03:00
static Fix syntax in intern tests 2016-09-22 12:45:23 +03:00
.eslintignore Remove "vendor" directory from project configs 2016-06-23 12:11:39 +03:00
.eslintrc Fix consistent-return warnings 2016-09-21 15:15:10 +03:00
.gitignore Add necessary files 2016-03-01 14:55:40 +07:00
.gitreview Add necessary files 2016-03-01 14:55:40 +07:00
gulpfile.js Fix consistent-return warnings 2016-09-21 15:15:10 +03:00
karma.config.js Enable linting for node.js files and split .eslintrc 2016-01-17 18:01:55 +03:00
LICENSE Add necessary files 2016-03-01 14:55:40 +07:00
MAINTAINERS Add Bogdan Dudko to the list of maintainers 2016-04-20 17:19:58 +03:00
npm-shrinkwrap.json Fix UI functional tests in Firefox 47+ 2016-08-10 13:22:17 +03:00
package.json Merge "Add tests for component registry suite for vCenter" 2016-08-11 16:24:21 +00:00
README.rst Update README for running tests 2016-06-01 15:06:32 +00:00
run_component_registry_tests.sh Add tests for component registry suite for vCenter 2016-08-11 17:07:04 +03:00
run_ui_func_tests.sh Unify syntax of run_ui_func_tests.sh to suit macosx 2016-07-04 14:44:56 +03:00
webpack.config.js Enable loose mode for ES6 class transformation 2016-07-15 19:07:29 +03:00

FUEL UI

This repository contains Fuel UI - the web user interface for Nailgun.

Installation

  • Fuel UI requires Node.js 0.10+ to be installed on your system. On Ubuntu 14.04 you can install it using the following commands:

    sudo apt-get remove --yes nodejs nodejs-legacy
    sudo add-apt-repository --yes ppa:chris-lea/node.js
    sudo apt-get update
    sudo apt-get install --yes nodejs
    sudo chown -R `whoami`.`whoami` ~/.npm
  • Install JS dependencies and Gulp:

    npm install
    sudo npm install -g gulp
  • The most convenient approach to modify Fuel UI is to use a development server. It watches for file changes and automatically rebuilds changed modules (significantly faster than full rebuild) and triggers page refresh in browsers:

    gulp dev-server

    By default it runs on port 8080 and assumes that Nailgun runs on port 8000. You can override this by using the following options:

    gulp dev-server --dev-server-host=127.0.0.1 --dev-server-port=8080 --nailgun-host=127.0.0.1 --nailgun-port=8000

    If automatic rebuild on change doesn't work, most likely you need to increase the limit of inotify watches:

    echo 100000 | sudo tee /proc/sys/fs/inotify/max_user_watches
  • The production version of Fuel UI can be built by running:

    gulp build

    To specify custom output directory location, use static-dir option:

    gulp build --static-dir=static_compressed

    To speed up build process you may also want to disable uglification and source maps generation:

    gulp build --no-uglify --no-sourcemaps

    If for some reason you don't want to use a development server, but would like to recompile the bundle on any change, use:

    gulp build --watch

Testing

  • UI tests use Selenium server, so you need to install Java Runtime Environment (JRE) 1.7 or newer version.

  • You also need to install Firefox - it is used as the default browser for tests.

  • Run full Web UI test suite, run:

    npm run lint
    npm run unit-tests
    npm run func-tests

    UI functional tests require Nailgun server from fuel-web repo to be installed. By default it's assumed that fuel-web repo is in the same directory as fuel-ui repo, but you can specify another path using FUEL_WEB_ROOT environment variable:

    FUEL_WEB_ROOT=/path/to/fuel-web npm run func-tests

    To run a single functional test file, use:

    npm run func-tests static/tests/functional/test_cluster_page.js

    By default Firefox browser is used. You can specify the browser using BROWSER environment variable:

    BROWSER=chrome npm run unit-tests
    BROWSER=firefox npm run func-tests