Skip to content
A flexible lims extension of the old app
Branch: next_release
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
bin Added limber-dev launcher Feb 18, 2019
config Merge pull request #237 from andrewsparkes/GPL089_csv_files_chromium_… Jul 16, 2019
doc
lib Add separate csv tempaltes for nM and ng/ul Jun 7, 2019
public Remove old assets Oct 3, 2018
script
spec
.eslintrc.js
.gitignore Refactored QuadStamp. Fixed tests for PrimerPanelFilter. Mar 1, 2019
.rspec
.rubocop.yml Refactoring after code walkthrough Jul 5, 2019
.rubocop_todo.yml Update Rubocop Jun 7, 2019
.ruby-gemset Update to ruby 2.5.3 Jan 3, 2019
.ruby-version
.travis.yml
Gemfile Update Rubocop Jun 7, 2019
Gemfile.lock Update rubocop to version 0.73.0 Jul 17, 2019
Guardfile Rubocop - Array literals with [] Apr 3, 2017
LICENSE
README.md Merge pull request #172 from sanger/limber_extension_branches Mar 28, 2019
Rakefile
bable.config.js Complete webpacker upgrade process Mar 8, 2019
compile-build
config.ru Rubocop - Whitespace and array literals Apr 3, 2017
karma.conf.js
limber.sublime-project Rspec tests passing after API migration Aug 22, 2018
package.json
postcss.config.js
yarn.lock

README.md

Limber Pipeline Application

Build Status Yard Docs

Description

A flexible front end to plate bases pipelines in Sequencescape

Running Specs

RSpec

Ruby unit and feature tests:

    bundle exec rspec

Karma

JavaScript unit tests:

    yarn karma start --single-run

If you get '[Webpacker] Compilation Failed' when trying to run specs, you might need to get yarn to install its dependencies properly. One way of doing this is by precompiling the assets:

    yarn
    rake assets:precompile

This has the added benefit that it reduces the risk of timeouts when the tests are running, as assets will not get compiled on the fly.

Webpacker

You'll need to run webpack-dev-server when developing to ensure all the vue.js javascript is correctly compiled.

Writing specs

There are a few tools available to assist with writing specs:

Factory Bot

  • Strategies: You can use json :factory_name to generate the json that the API is expected to receive. This is very useful for mocking web responses. The association strategy is used for building nested json, it will usually only be used as part of other factories.

  • Traits:

    • api_object: Ensures that lots o the shared behaviour, like actions and uuids are generated automatically barcoded: Automatically ensures that barcode is populated with the correct hash, and calculates human and machine barcodes
    • build: Returns an actual object, as though already found via the api. Useful for unti tests
  • Helpers: with_has_many_associations and with_belongs_to_associations can be used in factories to set up the relevant json. They won't actually mock up the relevant requests, but ensure that things like actions are defined so that the api knows where to find them.

Request stubbing

Request stubs are provided by webmock. Two helper methods will assist with the majority of mocking requests to the api, stub_api_get and stub_api_post. See spec/support/api_url_helper.rb for details.

Note: Due to the way the api functions, the factories don't yet support nested associations.

You can’t perform that action at this time.