/finq-webclient

The Finq webclient

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

#Finq Webclient Build Status Coverage Status Code Climate

###A behavior-driven testing webclient

The Finq Webclient allows a tester to use a browser for enterprise testing. To finally get rid of the need to use complex tools for use-case testing, and to ensure that testing becomes fun, Finq introduces behavior based testing with webclient support. Tests will become self documenting, humanly readable, easy to manage and easy to write, by taking advantage of a combination of behavior-driven development (BDD), test driven development (TDD) and domain-specific languages (DSL) for test specification.

Finq is currently a work in progress in the early stages of development.

##Developing

To develop you must have the following tools installed and added to your PATH:

  • Node as the application is developed in Angular to run on node
  • Git as we are using git for version control
  • Ruby required for Sass
  • Sass since all styling is developed using Sass
  • Karma for automated testing during development
  • Grunt for execution of our automated tasks
  • Bower for application dependency management

###Install First you have to make sure you install Node, Git and Ruby. After these components are installed you can use Ruby to install Sass globaly. To do so run the following command:

$ gem install sass

After this Sass should be available (which you can check by executing sass -v on your commandline). If you're on Windows you might have an issue with Ruby not being set on your path automatically. This will block the abovementioned command. To ensure it is, you can manually add the location of your ruby install to the system path.

To get the proper toolset after installing node you can use the node package manager:

$ npm install -g grunt-cli
$ npm install -g bower
$ npm install
$ bower install

This will install Grunt on your command line and makes sure that bower is available for dependency management. Run the above commands in the application directory so all packages and dependencies are retrieved.

####Code style To support consistent code styling we make use of jshint for javascript convention validation and scss-lint for SASS convention validation. Even though JShint is automatically installed with the above commands, scss-lint requires an additional Ruby Gem to be installed as follows:

$ gem install scss-lint

Grunt is setup to automatically validate the .scss files in app/sass, so any changes to those files are immediately validated in case you're running Grunt on the background.

##Running When you're all setup you can run the development server using grunt serve or generate a distributable using grunt serve:dist. A distributable requires you to also have a backend available. The Finq Runner has to be installed and running to be able to pass the preloader screen. The non distributable contains a mocked backend for isolated development purposes.

###Testing To run the unit and end to end tests, execute grunt test.

##License Finq version 0, Copyright (C) 2014 Christian Kramer.

The Finq webclient comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under certain conditions as mentioned in the enclosed License file.