Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ tags
.tags
.tool-versions

# Ignore local configuration files
.env
.env*.local
# Ignore local configuration files except for development
.env*
!.env.development
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added

- Introduced feature tests for search, data retrieval and download aspects for
use in the Cucumber and Puppetteer Integration Tests (CuPIT).
- Added scenarios for postcode searches, property type filtering, and text
indexing.

### Changed

- Updated .gitignore rules to include .DS_Store files and prevent unnecessary
tracking of Mac OS system files
- Generalises .env exclusion to cover all variations, except the development one,
for better secrets management

## [2.2.3] - 2025-11

### Changed
Expand Down
30 changes: 30 additions & 0 deletions test/features/appd.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Feature: retrieve home page

As a visitor

I want to retrieve additional price paid data information

@javascript
Scenario:
Given I am a visitor
When I retrieve the page "/app/ppd"
And I enter "AL7 1AJ" in the "postcode" field
And I click on the "detached" checkbox
And I click on the "semi-detached" checkbox
And I click on the "terraced" checkbox
And I click on the "flat/maisonette" checkbox
And I choose the "all" radio button
And I click on the "show results" button
Then I should retrieve a web page
And it should have content "8 Brownfields Court, Welwyn Garden City, AL7 1AJ"

@javascript
Scenario:
Given I am a visitor
When I retrieve the page "/app/ppd"
And I enter "AL7 1BX" in the "postcode" field
And I click on the "other" checkbox
And I choose the "all" radio button
And I click on the "show results" button
Then I should retrieve a web page
And it should have content "1 The Swallows, Welwyn Garden City, AL7 1BX"
18 changes: 18 additions & 0 deletions test/features/ppd-data.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

Feature: retrieve PPD data downloads

As a visitor

I want to retrieve and read the PPD datasets page

In order to be able to download PPD monthly datasets

Scenario:
Given I am a visitor
When I retrieve the page "/ppd-data.html"
Then I should retrieve a web page
And it should have the title "Download Price Paid Data"
And it should have content "Price paid data download options"



43 changes: 43 additions & 0 deletions test/features/ppd.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
Feature: ppd

As a visitor

I want to retrieve information about the price paid for houses

@javascript
Scenario:
Given I am a visitor
When I retrieve the page "/app/ppd"
Then I should retrieve a web page
And it should have rules from stylesheet matching ".*application.*\.css$"
And it should have an image matching "lr_logo.*\.png$"b

@javascript
Scenario:
Given I am a visitor
When I retrieve the page "/app/ppd"
And I enter "plymouth" in the "town" field
And I click on the "not new-build" checkbox
And I enter "1 Apr 2014" in the "min_date" field
And I enter "30 Apr 2014" in the "max_date" field
And I choose the "all" radio button
And I click on the "show results" button
Then I should retrieve a web page
And it should have content "5 Falcon Road, Plymouth, PL1 4GR"
And it should have content "69 Millbay Road, Plymouth, PL1 3NG"
And it should have content "71 Millbay Road, Plymouth, PL1 3NG"
And it should have content "Flat 9, 15 Ridge Park Road, Plymouth, PL7 2FG"
And it should have content "3 Verden Close, Plymouth, PL3 4BT"
And it should have content "7 Gardeners Lane, Plymouth, PL8 2PJ"
And it should have content "10 Gardeners Lane, Plymouth, PL8 2PJ"


@javascript
Scenario:
Given I am a visitor
When I retrieve the page "/app/ppd"
And I enter "adam and eve mews" in the "street" field
And I choose the "all" radio button
And I click on the "show results" button
Then I should retrieve a web page
And it should have content "5 Adam & Eve Mews, London, W8 6UG"
16 changes: 16 additions & 0 deletions test/features/ppd_download.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Feature: download ppd data

As a visitor

I want to retrieve information about the house price index for a region

@javascript
Scenario:
Given I am a visitor
When I retrieve the page "/app/ppd"
And I enter "exeter" in the "town" field
And I click on the "show results" button
Then I should retrieve a web page
And I click on the first "download data" button
Then I should retrieve a web page
And it should have link text "get selected results as CSV with headers" with link ending with ".csv"
83 changes: 83 additions & 0 deletions test/features/specs/ppd-results.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Price Paid Data Search results

Tags: search, PPD, Price paid data

The Price paid data search results view

## Deselect search queries

Tags: results

* Type "Rose Cottage" into the "Building name or number" field
* Type "Plymouth" into the "Town or city" field
* Clicking show results will route User to the search results page
* Summary will display '21 transactions'
* Clicking the cross icon next to 'Plymouth' will remove the search query parameter
* Results page will re-render with new search parameters applied
* Summary will display '9873 matching transactions'

## Change settings

Tags: results

* Type "Rose Cottage" into the "Building name or number" field
* Clicking show results will route User to the search results page
* Clicking 'change search settings' will router User to search form
* Prefilled value "Rose Cottage" visible in the "Building name or number" field

## Download data

Tags: results

* Type "Rose Cottage" into the "Building name or number" field
* Clicking show results will route User to the search results page
* Clicking 'download data' will router User to the download page
* Clicking 'get selected results as CSV' will prompt a file download of type CSV
* Clicking 'get selected results as Turtle' will route User to generated TTL file
* Clicking 'view SPARQL query' will route User to SPARQL query view with pre-populated search values
* Clicking 'Back to results' will return you to the results page

## Share

Tags: results

* Clicking 'share view' will open a modal dialogue prompting a Twitter link
* The Users can close the modal dialogue by clicking the close cross

## Results summary number displayed

Tags: results

* Summary will display 'Showing 100 transactions'
* Clicking 'show a sample of at most 1000 results' will requery the search with new parameters
* Results page will re-render with new search parameters applied
* Summary will display 'Showing 1000 transactions'
* Clicking 'show all results' will requery the search with new parameters
* Results page will re-render with new search parameters applied
* Summary will display 'Current selection: show all results'

## Results list item

Tags: results

* A result item has a postal address as title
* A result item has a list of transaction History with at least one or more item
* Clicking the transaction history external link will route User to the Elda API populated with property transaction data
* A result item has a list of address values

## Results list query within

Tags: results

* Reset the form
* Type "Rose Cottage" into the "Building name or number" field
* Type "Devon" into the "County" field
* Clicking show results will route User to the search results page
* Summary will display 'from 460 matching transactions'
* Summary will display '45 properties'
* First Result item displays 'Rose Cottage, High Street, Sidmouth, EX10 0DU'
* Clicking the magnifiying glass icon adjacent to 'East Devon' will requery the search
* Search summary now displays 'district matches 'EAST DEVON'
* Summary will display '81 transactions'
* Summary will display '50 properties'
* First Result item displays 'Briar Rose Cottage, Lyme Regis, DT7 3RN'
Loading