Git Product home page Git Product logo

eq-survey-runner's Introduction

eQ Survey Runner

EQ functional tests

IMPORTANT! This repository is archived and is no longer actively maintained.

If you're looking for the latest version, please check out the successor project: eQ Questionnaire Runner.

Run with Docker

Install Docker for your system: https://www.docker.com/

To get eq-survey-runner running the following command will build and run the containers

docker-compose up -d

To launch a survey, navigate to http://localhost:8000/

When the containers are running you are able to access the application as normal, and code changes will be reflected in the running application. However, any new dependencies that are added would require a re-build.

To rebuild the eq-survey-runner container, the following command can be used.

docker-compose build

If you need to rebuild the container from scratch to re-load any dependencies then you can run the following

docker-compose build --no-cache

To run just the unit tests inside Docker:

docker build -t onsdigital/eq-survey-runner .
docker build -t onsdigital/eq-survey-runner-unit-tests -f Dockerfile.test .
docker run onsdigital/eq-survey-runner-unit-tests

To run the unit tests locally:

pipenv run scripts/run_tests_unit.sh

Pre-Requisites

In order to run locally you'll need PostgreSQL, Node.js, sqlite3, snappy and pyenv installed

brew install postgres snappy npm sqlite3 pyenv

Note that npm currently requires Python 2.x for some of the setup steps, it doesn't work with Python 3.

Setup

It is preferable to use the version of Python locally that matches that used on deployment. This project has a .python_version file for this purpose.

Upgrade pip and install dependencies:

pyenv install
pip install --upgrade pip setuptools pipenv
pipenv install --dev

Run the server inside the virtual env created by Pipenv with:

pipenv run ./scripts/run_app.sh

Note, you will also need to run an upstream tool (eg, https://github.com/ONSDigital/go-launch-a-survey) to launch a survey.

docker run -e SURVEY_RUNNER_SCHEMA_URL=http://docker.for.mac.host.internal:5000 -it -p 8000:8000 onsdigital/go-launch-a-survey:latest

This will generate a JWT for you to log into the application.

To submit data you will also need to run an additional upstream tool (eg, https://github.com/ONSDigital/eq-docker-dynamodb) to launch a dynamoDB container.

docker run -it -p 6060:8000 onsdigital/eq-docker-dynamodb:latest

Please note that currently the SQL backend only supports questionnaire state


Front-end Toolkit

The front-end toolkit uses nodejs, yarn and gulp.

Currently, in order to build the front-end toolkit, you will need to have node version 8.X. To do this, do the following commands:

brew install nvm
nvm install 8
nvm use 8

Install yarn with:

npm install yarn --global

Fetch npm dependencies (Note that this overrides the python version defined in .python-version):

PYENV_VERSION=system yarn

Compile the project with

yarn compile

There are a few additional npm tasks:

Command Task
yarn compile Build the assets (js, css, img) into /static.
yarn dev Build assets and watch for changes. Runs Browsersync.
yarn test Runs the unit tests through Karma and the functional tests through a local Selenium instance.
yarn test_unit Watches the unit tests via Karma.
yarn test_functional Runs the functional tests through ChimpJS (requires app running on localhost:5000 and generated pages).
yarn generate_pages Generates the functional test pages.
yarn lint Lints the JS, reporting errors/warnings.
yarn format Format the json schemas.

Upgrade usage of the pattern library (Currently) To make an upgrade to the pattern library you'll need to change the short-hand commit hash in the following files:

  • app/assets/favicons/browserconfig.xml <square150x150logo src="https://cdn.ons.gov.uk/sdc/[COMMIT HASH HERE]/favicons/mstile-150x150.png"/>
  • app/assets/styles/partials/vars/_vars.scss.xml $cdn-url-root: "https://cdn.ons.gov.uk/sdc/[COMMIT HASH HERE]";
  • app/templates/layouts/base.html {% set cdn_hash = "[COMMIT HASH HERE]" %}

Functional test options

The functional tests use a set of selectors that are generated from each of the test schemas. These make it quick to add new functional tests.

To run the functional tests use the script:

./scripts/run_tests_functional.sh

This will delete the tests/functional/generated_pages directory and regenerate all the files in it from the schemas.

You can also individually run the generate_pages and test_functional yarn scripts:

yarn generate_pages; yarn test_functional

To generate the pages manually you can run the generate_pages scripts with the schema directory. Run it from the tests/functional directory as follows:

./generate_pages.py ../../data/en/ ./generated_pages -r "../../base_pages"

To generate a spec file with the imports included, you can use the generate_pages.py script on a single schema with the -s argument.

./generate_pages.py ../../data/en/test_multiple_piping.json ./temp_directory -r "../../base_pages" -s spec/test_multiple_piping.spec.js

If you have already built the generated pages, then the functional tests can be executed with:

yarn test_functional

This can be limited to tests under a directory with:

yarn test_functional --path tests/functional/spec/components/

To run a single test, add @watch into the name of any describe or it function and run:

yarn test_functional --watch

An example of adding @watch looks like this: describe('@watch Skip Conditions', function() {...} or it('@watch Given this is a test', function() {...}

To run the tests against a remote deployment you will need to specify the environment variable of EQ_FUNCTIONAL_TEST_ENV eg:

EQ_FUNCTIONAL_TEST_ENV=https://staging-new-surveys.dev.eq.ons.digital/ yarn test_functional

Deployment with elastic beanstalk

You will need to install the EB CLI tools using PIP.

pip install --user awsebcli        # install the eb cli tools

The Elastic Beanstalk CLI requires the presence of a requirements.txt file. To generate one with Pipenv use the following:

pipenv lock -r > requirements.txt

Initialise the project using the command

eb init --region eu-west-1

This will launch a wizard asking for the AWS credentials and some questions about the environment to create.

eu-west-1 is the name for Ireland. I chose the default application name.

Once completed, you can then deploy the application using the following command:

eb create

This will create the environment and spin up the application . Once the application has deployed you can use the following command to open it in a browser

eb open

Internationalisation

We use flask-babel to do internationalisation. To extract messages from source, in the project root run the following command.

pipenv run pybabel extract -F babel.cfg -o app/translations/messages.pot .

This will extract messages and place them in the translations/messages.pot file ready for translation.

You should only need to create the language files once.

To create Welsh language files, run the following command

pipenv run pybabel init -i app/translations/messages.pot -d app/translations -l cy

To create the gaelic language files, use the following:

pipenv run pybabel init -i app/translations/messages.pot -d app/translations -l gd

Getting text translated

Our current language translation service requires a .csv rather than a .po file. To convert a .po file to a .csv you'll need to install the Python translate-toolkit:

brew install translate-toolkit

To generate the .csv file:

po2csv app/translations/cy/LC_MESSAGES/messages.po app.translations/static-cy.csv

To convert back to a .po file:

csv2po app.translations/static-cy.csv app/translations/cy/LC_MESSAGES/messages.po

Important: There are some encoding issues when opening the .csv file in Excel. Opening in Google sheets and saving as a .xslx file resolves this.

Compiling the translations

To compile the language files for use in the application, use the following:

pipenv run pybabel compile -d app/translations

As strings are added to the application, you will need to update but not overwrite the translations for the various languages. To update the language strings, use:

pipenv run pybabel update -i app/translations/messages.pot -d app/translations

Environment Variables

The following env variables can be used

EQ_USER_AUTHENTICATION_RRM_PUBLIC_KEY - the RRM public key for JWT user authentication
EQ_USER_AUTHENTICATION_SR_PRIVATE_KEY - the SR private key for JWT user authentication
EQ_USER_AUTHENTICATION_SR_PRIVATE_KEY_PASSWORD - password of the SR private key for JWT user authentication
EQ_SUBMISSION_SDX_PUBLIC_KEY - the SDX public key for encryption of Submission data
EQ_SUBMISSION_SR_PRIVATE_SIGNING_KEY - the SR private key for signing of submission data
EQ_SUBMISSION_SR_PRIVATE_SIGNING_KEY_PASSWORD - the password to the SR private key
EQ_RABBITMQ_URL - the RabbitMQ connection string
EQ_RABBITMQ_QUEUE_NAME - the name of the submission queue
EQ_SERVER_SIDE_STORAGE_DATABASE_URL - url of the database to connect to, e.g. 'sqlite:////tmp/questionnaire.db')
EQ_SERVER_SIDE_STORAGE_DATABASE_SETUP_RETRY_COUNT - Number of times to retry setting up the database (connection/creation) if it fails
EQ_SERVER_SIDE_STORAGE_DATABASE_SETUP_RETRY_DELAY_SECONDS - Number of seconds to wait between retry attempts to setup the database
EQ_LOG_LEVEL - The default logging level (defaults to 'INFO' for local development)
EQ_WERKZEUG_LOG_LEVEL - The default logging level for werkzeug (defaults to 'INFO' for local development)
EQ_SCHEMA_DIRECTORY - The directory that contains the schema files
EQ_SESSION_TIMEOUT_SECONDS - The duration of the flask session
EQ_SECRET_KEY - The Flask secret key for signing cookies
EQ_PROFILING - Enables or disables profiling (True/False) Default False/Disabled
EQ_GTM_ID - The Google Tag Manager ID
EQ_GTM_ENV_ID - The Google Tag Manager Environment
EQ_SCHEMA_BUCKET - The name of the bucket in S3 where to look to find schemas
SAUCE_USERNAME - Sauce Labs username
SAUCE_ACCESS_KEY - Sauce Labs private key
EQ_DEV_MODE - Enable dev mode
EQ_ENABLE_FLASK_DEBUG_TOOLBAR - Enable the flask debug toolbar
EQ_ENABLE_CACHE - Enable caching of the schema
EQ_ENABLE_SECURE_SESSION_COOKIE - Set secure session cookies
EQ_MAX_HTTP_POST_CONTENT_LENGTH - The maximum http post content length that the system wil accept
EQ_MAX_NUM_REPEATS - The maximum number of repeats the system will allow
EQ_DEVELOPER_LOGGING - Enable developer style logging described here http://structlog.readthedocs.io/en/stable/development.html
EQ_ENABLE_LIVE_RELOAD - Enable livereload of browser when scripts, styles or templates are updated

EQ_NEW_RELIC_ENABLED - Enable New Relic monitoring
NEW_RELIC_LICENSE_KEY - Enable new relic monitoring by supplying a New Relic licence key
NEW_RELIC_APP_NAME - The name to display for the application in New Relic

The following env variables can be used when running tests

EQ_FUNCTIONAL_TEST_ENV - the pre-configured environment [local, docker, preprod] or the url of the environment that should be targeted

JWT Integration

Integration with the survey runner requires the use of a signed JWT using public and private key pair (see https://jwt.io, https://tools.ietf.org/html/rfc7519, https://tools.ietf.org/html/rfc7515).

Once signed the JWT must be encrypted using JWE (see https://tools.ietf.org/html/rfc7516).

The JWT payload must contain the following claims:

  • exp - expiration time
  • iat - issued at time

The header of the JWT must include the following:

  • alg - the signing algorithm (must be RS256)
  • type - the token type (must be JWT)
  • kid - key identification (must be EDCRRM)

The JOSE header of the final JWE must include:

  • alg - the key encryption algorithm (must be RSA-OAEP)
  • enc - the key encryption encoding (must be A256GCM)

To access the application you must provide a valid JWT. To do this browse to the /session url and append a token parameter. This parameter must be set to a valid JWE encrypted JWT token. Only encrypted tokens are allowed.

There is a python script for generating tokens for use in development, to run:

python token_generator.py

profiling

Setting the EQ_PROFILING environment variable to True will enable profiling of the application. Profiling information will be collected per-request in the profiling directory where it can be examined using the Pstats Interactive Browser.

$ python -m pstats <filename>

will load the file into the interactive browser where it can be sorted and queried as required.

To visualise the profile, snakeviz can be used. This provides a nice interface with an 'icicle' graph:

# First combine all the profiles in the 'profiling' directory.
# Ensure you delete all the files in this directory before starting your profiling session
# This will create a file called `combined_profile.prof`
pipenv run python scripts/merge_profiles.py

snakeviz combined_profile.prof

Updating / Installing dependencies

To add a new dependency, use pipenv install [package-name], which not only installs the package but Pipenv will also go to the trouble of updating the Pipfile as well.

NB: both the Pipfile and Pipfile.lock files are required in source control to accurately pin dependencies.

Alpha Survey Runner

If you're looking for the Survey Runner code from the Alpha then it has been renamed to: alpha-eq-survey-runner

eq-survey-runner's People

Contributors

adoublebarrel avatar ajmaddaford avatar benhowes avatar benjefferies avatar bennpearson avatar bitdivision avatar collisdigital avatar dannyboje avatar dependabot-preview[bot] avatar dhilton avatar dwyeradam avatar farres1 avatar hamishtaplin avatar insacuri avatar iwootten avatar jasehumphr avatar jchapman68 avatar jonnyshaw89 avatar kierenbeckett avatar martyncolmer avatar mebinabraham avatar mislam92 avatar nealedj avatar rmccar avatar samiwel avatar shahi645 avatar tafftoo avatar warrenbailey avatar weapdiv-david avatar yoganandkunche avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eq-survey-runner's Issues

Pipe an answer bug

Expected behaviour

Summary page should show the piped answer in the question text

Actual behaviour

It show the script, {answers.chewies_age}

Steps to reproduce the behaviour

Complete Star wars survey

Technical information

Browser

Operating System

Screenshot

Comments error

Expected Behaviour

If respondent enters no data but one or more carriage returns into the comments field, the entry should be treated as a null value and no error raised.

Alternative consideration - Error is identified that no data entered (except one or more carriage returns) and the user is able to go to the error field. The error message could say something along the lines of please provide comments? (optional)

Actual Behaviour

If I enter one or more carriage returns to the Comments field the character count is decreased by 1 for each carriage return. On submit (or return if outside the comments field) I get an error message which states this page has 1 error (see pics) but no go to error link and no guidance on why the error has been generated.

Steps to reproduce the behaviour

Enter one or more carriage returns to comments field and submit

if this is the only error on the form, and only one carriage return was entered, the returned screen has the erroneous carriage returns removed and character count shows 2000 (deafult) which means the respondent can resubmit without making changes.

if there are other errors on the form, this error is not specifically reported at the top of the screen (but is included in the error count), but the comments box is highlighted in red. Only 1 carriage return is removed for each submission with existing errors on the page e.g. if I have 3 carriage returns (1997 chars left) and 1 date error, on submit I get 1 error and have 1998 chars left in comment box. If I clear the date error, then submit I get the page error reported and character count decreases by 1. Each subsequent commit clears another character from the comments box, but errors persist until character count reaches 20000

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

as only error
image
image

with other errors
image

Mandatory Checkboxes and radio boxes are no longer mandatory

Expected behaviour

Mandatory checkboxes and radio boxes don't block submission

Actual behaviour

The form allows submission without them being completed. The response object is no longer including them, so they get skipped

Steps to reproduce the behaviour

Use star wars in dev and submit an empty form

Technical information

Browser

Chrome

Operating System

Windows

Screenshot

Safe Health Check puts message on queue

Expected behaviour

The safe health check should just return a 200OK if the application is running.

Actual behaviour

The safe health check is executing the test rabbit mq method which sends a message to the test_q.
In production its currently putting 1 message on the queue every 5 seconds, there were 100000 odd message on the test_q

Steps to reproduce the behaviour

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

Minified assets/cachebusting

Expected behaviour

  • production environment should serve minifed assets (js/css)
  • production environment should employ cache-busting techniques

Actual behaviour

  • production environment is serving non-minified assets
  • production environment does not employ cache-busting techniques

Steps to reproduce the behaviour

  • visit survey on production environment
  • confirm css and js files do not have .min in the filenames
  • confirm no cache-busting employed

Technical information

All browsers/OS

Change your answers link doesn't work

Expected behaviour

  1. Complete a survey
  2. On the review page, click 'change your answers'
  3. You should be redirected back to the survey to change your answers

Actual behaviour

  1. Complete a survey
  2. On the review page, click 'change your answers'
  3. An error 404 page is displayed

Steps to reproduce the behaviour

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

S3 schemas are not loaded

Expected behaviour

A schema in the S3 bucket should be loaded and rendered correctly

Actual behaviour

Loading an S3 schema results in a 404 error page

Steps to reproduce the behaviour

Technical information

Browser

Operating System

Screenshot

Focus from error navigation

What should happen

When an eror is identified and the error message box appears at the top of the page, if the user selects 'Go to this error' the screen and cursor should navigate to the error

Actual behaviour

the screen view navigates to the field in error, but cursor does not - need to either tab down or click in required field

Steps to reproduce the behaviour

fill out RSI form with error e.g. no entry for total retail sales, press return, get error message and then select Go to error

Technical information

Browser:

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

Error navigation.docx

Spelling error in guidance

Expected behaviour

Correct word in automotive fuel excludes guidance = commission

Actual behaviour

current word in automotive fuel excludes guidance = commision

Steps to reproduce the behaviour

Open guidance information for automotive fuel

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

image

Summary does not include Comments

Expected behaviour

The Summary screen displays any comments made by respondents (or N/A if no comments provided)

Actual behaviour

Row for comments and any comments are not displayed on Summary screen

Steps to reproduce the behaviour

Complete survey and submit through to summary page

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshots

Comments being added:
image

Summary screen without comments:
image

Delete data after submission

Expected behaviour

The user's stored data in the secure cookie should be removed after submission.

Actual behaviour

It's not.

Steps to reproduce the behaviour

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Error message summary shows multiple full stops on sentences.

Expected behaviour

  • A single full stop is shown at the end of the error messages in the error summary list at the top of the page.

Actual behaviour

  • The date error messages have two full stops at the end of the sentence.

Steps to reproduce the behaviour

  1. Start MCI survey via http://preprod-surveys.eq.ons.digital/dev
  2. Navigate to questions page http://preprod-surveys.eq.ons.digital/questionnaire
  3. Submit without any answers entered
  4. Page wil reload and show error summary list at top.
  5. Observe that the date error messages have two full stops at the end of the sentence

Technical information

Found in iPhone 6. Not tested on any other devices or browsers.

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS 9.3.1
  • Android# Steps to reproduce:

Screenshot

image

Wrong User Id being passed to SDX

Expected behaviour

We should be passing the RRM user id to SDX,

Actual behaviour

We are passing the generated eq user id to SDX

Steps to reproduce the behaviour

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

Maximum Character Limit not Enforced on Comments

Expected behaviour

Unable to enter additional characters into the comments box after the limit has been hit (2000 characters).

Actual behaviour

It is not possible to enter more than the maximum character count.

Steps to reproduce the behaviour

  • Start the MCI survey
  • Go to the comments box
  • Fill it with the maximum number of characters (2000)
  • Move the cursor to the middle of the comments text
  • Press a letter on the keyboard
  • Observe that the additional character is permitted.

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Error page browser/OS strings

Expected behaviour

On the error page, it should display accurate version of the users web browser and operating system

Actual behaviour

In some browsers, this information is displaying as "None"

Steps to reproduce the behaviour

Technical information

Browser

All

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

ie9

Question titles in Json need moving to Label tab (backend)

Expected behaviour

In the Json the questions titles should be in the label tabs

Actual behaviour

The Label tabsare empty

Steps to reproduce the behaviour

Backend

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

Preceeding zeros are not handled properly

Expected behaviour

When a user enters preceding zeros, they should be removed

Actual behaviour

Preceding zeros are not removed and passed on to the downstream system

Steps to reproduce the behaviour -

  1. Open an eQ survey
  2. Enter preeceding zeros (0000000000000000000000001) as test data in various fields.
  3. Submit Survey
  4. Verify the image file and other files generated for down stream system.

Technical information

Browser

IE11

Operating System

Windows 7

Screenshot

form_page1
form_page2
Output_DataFile.txt
output_imagefile
summary1
summary2

The Label of the checkbox is before the input

Expected behaviour

The Label of the checkbox is before the input

Actual behaviour

It was designed and tested the other way around

Steps to reproduce the behaviour

Visual code inspection in any survey which has checkboxes

Technical information

Browser

Operating System

Screenshot

Invalid Dates from RRM Cause Internal Server Error

Expected behaviour

  • Default error page is shown when invalid dates are supplied from RRM

Actual behaviour

  • Internal server error is shown.

Steps to reproduce the behaviour

  • Go to /dev page
  • Enter 2016-13-30 for "REF P End Date"
  • Hit submit
  • See "Internal Server Error" message

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

image

Thank you page shows submission time as 1 hour ago

Expected behaviour

  • Time/date on thank you page of submission is correct (at the stage it should probably say "UTC" on the timestamp, since I assume displaying the browser's local time would need more thought).

Actual behaviour

  • Time/date on thank you page is UTC (local time is GMT) so 1 hour in the past compared to users submitting in the UK.

Steps to reproduce the behaviour

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

None

RRM start and end date now in claims

Expected behaviour

That RRM sents the start and end date in the claim

Actual behaviour

EQ is hard coding it into the survey

Steps to reproduce the behaviour

Running the survey

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

Legend incorrectly wraps on 2011 test survey

Expected behaviour

That a survey legend on a label before a text input should sit above the input on it's own line.

Actual behaviour

The legend sits on the same line as the question title (see screenshot).

Steps to reproduce the behaviour

Visit the 2011 test survey and look at page 1, question refering to your first name.

Technical information

Browser

Chrome latest

Operating System

Mac OSX

Screenshot

legends_issue

Survey Runner Certificate Expired

Expected behaviour

HTTPS works without error/warning

Actual behaviour

HTTPS Certificate has expired

Steps to reproduce the behaviour

Visit pre-prod and see cert error

Technical information

Browser

Any

Operating System

Any

Screenshot

screen shot 2016-07-08 at 10 00 16

MCI-0215 and MCI-0213 accepting negative numbers

Expected behaviour

Negative numbers for employment shouldn't be accepted

Actual behaviour

Negative numbers are being accepted

Steps to reproduce the behaviour

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

Summary display

Expected behaviour

The summary page should be in tabular format
For test survey 1_888.json, integer fields are appearing below the question rather then next to it

Steps to reproduce the behaviour

Fill in survey id 1_888.json and go to the summary page

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

Submission Failed exception if Rabbit MQ is down

Expected behaviour

The error page should be displayed

Actual behaviour

The python exception is displayed

screen shot 2016-07-13 at 11 11 28

Steps to reproduce the behaviour

Technical information

Browser

Operating System

Screenshot

S-10 Questionnaire - Error Message for numbers with decimal points

There is a little variation between numeric fields for the error message shown when entering a number with decimal point (or commas to suggest £thousands etc)

Message 1: 'This is not a whole number'

  • displayed on all the Commodity fields - Food etc.

Message 2: 'Please only enter numbers into the field'

  • displayed on Total Retail Turnover, Internet Sales, Automotive Fuel

Please could we have a single error message for all fields covering this validation, wording as follows:.
'Please only enter whole numbers into the field'

  • note - addition of word 'whole' means error wording cannot be generic for all instances where numbers are allowed - so there will be different scenarios where decimals are allowed for entry.

For future reference - the prototype displayed numerics with comma's - if this functionality is provided for in the future, then the presence of a comma to denote thousands, etc should not fail the number format validation. It is noted that the summary does include commas, and as such allows respondents to check their answers and correct as appropriate.

Characters Remaining count is shown when Javascript is disabled

Expected behaviour

"Characters remaining: 2000" is not displayed and suitable alternative is shown on the comment box when Javascript is disabled

Note: Alex proposes: "Maximum characters: 2000" is shown.

Actual behaviour

"Characters remaining: 2000" is displayed when javascript is disabled.

Steps to reproduce the behaviour

  • Disable Javascript in your browser
  • Start a new Schemas: 1_0205.json survey via https://preprod-surveys.eq.ons.digital/dev
  • Go to questionnaire page
  • Observe that the comments box displays "Characters remaining: 2000"

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

max_chars_js_disabled

Multi page error messages

Expected behaviour

Only the errors for a page should be shown

Actual behaviour

If you generate an error on the second page then go back to the first page and cause an error on that page both will be displayed on the first page

Steps to reproduce the behaviour

See above

Technical information

Browser

Chrome

Operating System

Windows

Screenshot

Change your answers link broken

Expected behaviour

On summary page "Change your answers" goes back to the first page

Actual behaviour

You get a 404

Steps to reproduce the behaviour

Fill in any survey, go to summary page, click "Change your answers" see 404 page.

Technical information

Browser

Chrome / Any

Operating System

OSX / Any

Screenshot

N/A

Landing page format has been changed

Expected behaviour

Landing page format as agreed by PO

Actual behaviour

The text and variables for Period & nb statement have been left justified as highlighted in screen shot attached

Steps to reproduce the behaviour

Access online questionnaire in pre-Prod environment in chrome or i.e. (internally or externally)

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • [X ] Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

image

Collapsed guidance still recieves tab focus

Expected behaviour

Navigating through form with tab should skip any content of guidance.

Actual behaviour

Tabbing from guidance toggle takes focus to the guidance content.

Steps to reproduce the behaviour

  1. Focus on form field
  2. Tab once to "show guidance" button
  3. Tab again
  4. Confirm focus is not on the next field (it should be)

Technical information

All browsers/platforms

environment URL exists and is broken

Expected behaviour

  • /environment URL is disabled in production
  • /environment URL works or is removed

Actual behaviour

  • /environment URL is enabled in production
  • /environment URL causes an internal server error

Steps to reproduce the behaviour

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

internal_server_error

S-9 - SDX - Check output file

Please check format of Period_ID being output for downstream systems (should be period-id, which is the collection_exercise_label from RRM) expecting 6 numeric

This is based on example shown at demo - it may be dummy data was used to present demo and that the correct fields are being reported. If so, apologies and please close.

Error pages expose survey name

Expected behaviour

  • The name of the survey is not shown on error pages when the user is not authenticated.

Actual behaviour

Steps to reproduce the behaviour

  • Go to https://eq.ons.gov.uk without logging in
  • See the error page contains "Monthly Business Survey - Retail Sales Index" in the header.

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • [] Windows
  • OS X
  • iOS
  • Android

Screenshot

screen shot 2016-04-14 at 10 58 11

Hard coded page titles on description of Landing and thank you

Expected behaviour

The landing page and thankyou page titles should be the same as the schema title

Actual behaviour

They are hardcoded to MCI

Steps to reproduce the behaviour

Open 1_888.json using /dev and see the landing page title

Technical information

Browser

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Screenshot

Thank you page returns error if navigated to before submission

Expected behaviour

Redirect to questionnaire page

Actual behaviour

Throws error KeyError: 'submitted_at'

Steps to reproduce the behaviour

Try to navigate to thank-you page before submission

Technical information

Browser

Any

  • Chrome
  • Firefox
  • Safari
  • MS Edge
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Internet Explorer 7
  • Internet Explorer 6
  • Other (please state below)

Operating System

  • Windows
  • OS X
  • iOS
  • Android

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.