Help centre · Understanding
How do I see and test my application before merging?
Every run starts a preview of its branch, opened in Diavi as a website or on a phone, and runs its end-to-end tests on it.
Every run starts a preview of its branch: your application, launched with the merge request's code, on demo data. It opens in the run's Preview tab, in a computer or phone frame, and its link is in the merge request along with the test account.
My application has a front end, an API and a database: does it all start?
Yes, if your repository has a docker-compose.yml at its root: the preview follows it, and each service reaches the others by name. Nothing that would touch our machine is kept — privileged mode, host network, folders outside the repository — and a repository folder mounted in a service is copied into it. Without a compose file, the preview starts the run's main stack.
Is there an account to sign in with?
When the stack allows it, the preview creates a demo account: Dolibarr, Laravel, Django. It is shown next to the link. If the account could not be created, the tests run without signing in and the run says so.
How are the tests written?
Before writing, Diavi explores the preview: it signs in, notes the real addresses and what each screen shows, and never follows a sign-out or delete link. The tests rely on what it saw, not on guessed addresses, and each one checks that the page it opens exists.
A test fails: who fixes what?
Diavi sorts it out first. If the test itself is wrong — a page that does not exist, a test that does not run, an ambiguous element — it rewrites the test without touching your code. Otherwise, it fixes the code. The merge request comment says which way was taken.
Is my data protected?
The preview runs on demo data, never yours, and disappears when it expires. An application that talks to Firebase directly cannot reach it during the tests: they cannot write to your real project.
What about a mobile app?
The preview shows the web version of the app in a phone frame: status bar, three screen sizes, rotation. For Flutter, the tests turn on the accessibility layer, without which nothing can be read. Native iOS or Android rendering is not offered yet.