feat(tests): add api e2e tests (#3617)

* feat(tests): add api e2e tests

* lockfile

* mobile

* try linux fix [skip ci]

* ios fix

* fix test on windows

* improve cache

* fix pnpm audit [skip ci]
This commit is contained in:
Lucas Fernandes Nogueira
2026-09-22 18:58:14 -03:00
committed by GitHub
parent 7f87091288
commit 684feb2510
47 changed files with 10292 additions and 107 deletions
+33
View File
@@ -0,0 +1,33 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import { expect } from '@wdio/globals'
import { tauri, describePlugin } from '../helpers/index.js'
// The driver launches the app without arguments, so the matches reflect the
// CLI definition in the example's `tauri.conf.json` with nothing set. The
// example only registers the plugin on desktop, so the suite is skipped on
// mobile (which has no command line to begin with).
describePlugin('cli', { desktopOnly: true }, () => {
it('getMatches reports every defined argument as unset', async () => {
const matches = await tauri((api) => api.cli.getMatches())
expect(Object.keys(matches.args).sort()).toEqual([
'config',
'theme',
'verbose'
])
// flags resolve to `false`, arguments taking a value to `null`
expect(matches.args.verbose).toEqual({ value: false, occurrences: 0 })
expect(matches.args.config).toEqual({ value: null, occurrences: 0 })
expect(matches.args.theme).toEqual({ value: null, occurrences: 0 })
})
it('getMatches reports no subcommand', async () => {
const subcommand = await tauri(
async (api) => (await api.cli.getMatches()).subcommand
)
expect(subcommand).toBeNull()
})
})