/* Configuration for Vitest testrunner.
 * Copyright (C) 2024 André Jaenisch
 * SPDX-FileCopyrightText: 2024 André Jaenisch
 * SPDX-License-Identifier: AGPL-3.0-or-later
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import { resolve } from 'node:path';

import { storybookTest } from '@storybook/experimental-addon-vitest/plugin';
import { svelte } from '@sveltejs/vite-plugin-svelte';
// Not ready for prime time
//import { svelteTesting } from '@testing-library/svelte/vite';
import { defineConfig } from 'vitest/config';

export default defineConfig({
	resolve: {
		alias: {
			// Help vitest find imported images
			$lib: resolve('./src/lib')
		}
	},
	plugins: [
		svelte({ hot: !process.env.VITEST }),
		svelteTesting()
		/*
		storybookTest({
			storybookScript: 'npm run storybook --ci'
		})
        */
	],
	test: {
		/*
        browser: {
            enabled: true,
            provider: 'playwright',
            name: 'chromium',
            headless: true, // or false, if you want to see it in action in the browser
            screenshotFailures: false,
        },
        */
		coverage: {
			include: ['src'],
			provider: 'istanbul'
		},
		include: [
			//'stories/**/*.stories.ts',
			'tests/**/*.test.ts'
		],
		environment: 'jsdom',
		globals: true,
		setupFiles: [resolve(__dirname, 'tests/components/setup.ts')]
	}
});