Comments (5)
This is a global setting.
There is currently a useRandomOpportunities
setting, this however only prevents deleting events rather than determining which tests to run.
Work needs doing to make this option used to determine which test suites need running.
from openactive-test-suite.
@nickevansuk Do we need a both option for this or just random and just controlled options?
from openactive-test-suite.
Suggest one or the other
from openactive-test-suite.
Additionally suggest a further improvement for the "controlled" version: just pass the case name
to the "createOpportunity" test harness endpoint, instead of the full OpenActive model for the event (so just the name
rather than the event
from here).
This means they'd just need to create a switch statement inside the test endpoint to create the relevant type of event in the relevant state, instead of building a parser for an event in the OpenActive opportunity model, which they don't need anywhere else.
Especially as most elements of the parser would only be used once per test (as each test covers different properties), and otherwise the parser itself would need testing.
This should also mean that the "case" interface on the microservice can be identical to the "createOpportunity" test harness endpoint - passing both an opportunity type
and a case name
in both cases, and returning the ID of an opportunity in both cases. So the test harness endpoint will be modelled off this endpoint with an extra name
query parameter - which should make it easy to use either the "random" microservice or the "controlled" test harness endpoints depending on the mode, as they will work identically.
This also means that we wouldn't need to separate "random" and "controlled" tests, as both could run in either case - which should simplify the design overall.
We can ensure that the .NET deployment does this in advance of the work.
from openactive-test-suite.
useRandomOpportunities
config setting achieves this by utilising the standard test interface.
Only allows running controlled or random, not both, for simplicity. Both can be achieved by simply running the test suite twice, as per:
openactive-test-suite/publish-example-output.sh
Lines 31 to 45 in a87da46
from openactive-test-suite.
Related Issues (20)
- Check `position` of `orderedItem` at B
- Running npm run update-test-suite resulting in unsupported engine warning
- leasing - anonymous/named-leasing - Capacity goes back up after lease expires (without completed booking)
- Add release process around test suite
- opportunity-attendance-updates : Setting opportunities as AttendeeAttended/AttendeeAbsent before the opportunity has started
- Test Suite cannot use Client Credentials to authorise a Seller
- Single/Multiple Seller config tests HOT 1
- Content-Type/Accept headers not used consistently
- Add support for deprecated "Small provider" feed combinations HOT 1
- Add tests to the openactive-broker-microservice
- Consider preserving test output after each run
- Consider adding the runtime to the top of summary.md
- Document `npm run update-test-suite`
- It is not possible to pass Test Suite unless Seller Requested Cancellation is enabled HOT 1
- Issue with checking remainingUses = 1 for leased slots HOT 1
- Write unit tests for broker-microservice untested functionality
- Unable to test booking window in Random Mode HOT 1
- Test Suite not restarting parent feed on test runs
- Broker Microservice blocking updates from the RPDE feed
- Specifically test the cancellation of both free and non-free bookings
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openactive-test-suite.