-
Notifications
You must be signed in to change notification settings - Fork 386
test: add End-2-End test suite #2824
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks promising overall & passes! All there’s to say is it seems some build steps happen multiple time, and that should be looked into
"@wdio/sauce-service": "5.12.1", | ||
"@wdio/selenium-standalone-service": "5.12.1", | ||
"@wdio/spec-reporter": "5.12.1", | ||
"@wdio/static-server-service": "5.12.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I asked this question already but I'm no longer sure what's the answer.
Is it not possible to hide this away in instantsearch-e2e-tests
and just expose a command there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See my answer: algolia/instantsearch#4035 (comment)
(it can be discussed of course 😉)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also think we should hide this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would also make sense to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well... I'm not for this.
First of all there is very few advantages (if any?) to "hide" dependencies but the real problem is mainly that it will makes us call a subdependency from the parent project (react-instantsearch
calls wdio
directly), which is not recommenced (the package version we're targeting may not be at the node_modules
top level, depending how npm/yarn deduplicated the dependencies).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we also hide wdio
call then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What would be the objective of hiding these dependencies?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would remove the overall perceived complexity, as well as reduce the noise and cognitive overhead of managing these dependencies.
I find it surprising that we went all the way to packaging the E2E tests (e.g. see also wdio.saucelabs.conf.js
which only exports the E2E package import), but are reluctant to hide the dependencies themself.
The E2E test suite would be more predictable if the wdio
dependencies are packaged within it. Here, we are responsible for the wdio
deps to work with a black-boxed test suite, which is quite contradictory.
"@wdio/sauce-service": "5.12.1", | ||
"@wdio/selenium-standalone-service": "5.12.1", | ||
"@wdio/spec-reporter": "5.12.1", | ||
"@wdio/static-server-service": "5.12.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would also make sense to me.
Co-Authored-By: François Chalifour <francoischalifour@users.noreply.github.com>
Summary
Same as algolia/instantsearch#4035 but for
react-instantsearch
.This PR makes the following changes:
algolia/instantsearch-e2e-tests
as devDependency..env
file to.gitignore
so you can use it to store Sauce Labs credentials (see https://github.com/algolia/instantsearch-e2e-tests#credentials ).test:e2e
: Alias fortest:e2e:local
.test:e2e:local
: Run the test suite on Chrome browser on your local machine.test:e2e:saucelabs
: Run the test suite on multiple browsers on the Sauce Labs service.test:e2e
totest:integration
.test_e2e
task totest_integration
.test_e2e
task.