mirror of
https://github.com/podman-desktop/podman-desktop
synced 2026-04-21 09:37:22 +00:00
related to https://github.com/containers/podman-desktop/issues/6372 Signed-off-by: Florent Benoit <fbenoit@redhat.com>
75 lines
2.5 KiB
TypeScript
75 lines
2.5 KiB
TypeScript
/**********************************************************************
|
|
* Copyright (C) 2023-2024 Red Hat, Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
***********************************************************************/
|
|
|
|
import '@testing-library/jest-dom/vitest';
|
|
import { test, expect, vi, beforeAll } from 'vitest';
|
|
import { render, screen } from '@testing-library/svelte';
|
|
import type { IConfigurationPropertyRecordedSchema } from '../../../../../main/src/plugin/configuration-registry';
|
|
import StringItem from './StringItem.svelte';
|
|
|
|
beforeAll(() => {
|
|
(window as any).getConfigurationValue = vi.fn();
|
|
});
|
|
|
|
test('Ensure HTMLInputElement', async () => {
|
|
const record: IConfigurationPropertyRecordedSchema = {
|
|
id: 'record',
|
|
title: 'record',
|
|
parentId: 'parent.record',
|
|
description: 'record-description',
|
|
type: 'string',
|
|
};
|
|
|
|
render(StringItem, { record, value: '' });
|
|
const input = screen.getByLabelText('record-description');
|
|
expect(input).toBeInTheDocument();
|
|
|
|
expect(input instanceof HTMLInputElement).toBe(true);
|
|
});
|
|
|
|
test('Ensure placeholder is correctly used', async () => {
|
|
const record: IConfigurationPropertyRecordedSchema = {
|
|
id: 'record',
|
|
title: 'record',
|
|
parentId: 'parent.record',
|
|
description: 'record-description',
|
|
type: 'string',
|
|
placeholder: 'placeholder',
|
|
};
|
|
|
|
render(StringItem, { record, value: '' });
|
|
const input = screen.getByLabelText('record-description');
|
|
expect(input).toBeInTheDocument();
|
|
expect((input as HTMLInputElement).placeholder).toBe(record.placeholder);
|
|
});
|
|
|
|
test('Ensure HTMLInputElement', async () => {
|
|
const record: IConfigurationPropertyRecordedSchema = {
|
|
id: 'record',
|
|
title: 'record',
|
|
parentId: 'parent.record',
|
|
description: 'record-description',
|
|
type: 'string',
|
|
readonly: true,
|
|
};
|
|
|
|
render(StringItem, { record, value: '' });
|
|
const input = screen.getByLabelText('record-description');
|
|
expect(input).toBeInTheDocument();
|
|
expect((input as HTMLInputElement).readOnly).toBeTruthy();
|
|
});
|