diff --git a/client/src/components/Manifest/SiteSelect/SiteTypeSelect.spec.tsx b/client/src/components/Manifest/SiteSelect/SiteTypeSelect.spec.tsx
index 23f131ffe..bb602836f 100644
--- a/client/src/components/Manifest/SiteSelect/SiteTypeSelect.spec.tsx
+++ b/client/src/components/Manifest/SiteSelect/SiteTypeSelect.spec.tsx
@@ -1,22 +1,57 @@
import { screen } from '@testing-library/react';
+import { RcraSiteType } from 'components/Manifest/manifestSchema';
import { SiteTypeSelect } from 'components/Manifest/SiteSelect/SiteTypeSelect';
import React, { useState } from 'react';
import { useForm } from 'react-hook-form';
import { renderWithProviders } from 'test-utils';
-import { createMockSite } from 'test-utils/fixtures';
import { describe, expect, test } from 'vitest';
-function TestComponent() {
+function TestComponent({ siteType }: { siteType?: RcraSiteType }) {
const [mockSiteType, setMockSiteType] = useState();
+ const handleChange = (siteType: any) => setMockSiteType(siteType);
const { control } = useForm();
// @ts-ignore
- return ;
+ return (
+
+ );
}
describe('SiteTypeSelect', () => {
test('renders', () => {
- const mySite = createMockSite();
renderWithProviders();
expect(screen.queryByTestId('siteTypeSelect')).toBeDefined();
});
+ test('site options are limited when site type is Generator', () => {
+ renderWithProviders();
+ // screen.debug(undefined, Infinity);
+ expect(screen.queryByRole('option', { name: /generator/i })).toBeDefined();
+ expect(screen.queryByRole('option', { name: /Transporter/i })).toBeNull();
+ expect(screen.queryByRole('option', { name: /Tsdf/i })).toBeNull();
+ });
+ test('site options are limited when site type is transporter', () => {
+ renderWithProviders();
+ // screen.debug(undefined, Infinity);
+ expect(screen.queryByRole('option', { name: /generator/i })).toBeDefined();
+ expect(screen.queryByRole('option', { name: /Transporter/i })).toBeDefined();
+ expect(screen.queryByRole('option', { name: /Tsdf/i })).toBeNull();
+ });
+ test('All options are available when site Type is Tsdf', () => {
+ renderWithProviders();
+ // screen.debug(undefined, Infinity);
+ expect(screen.queryByRole('option', { name: /generator/i })).toBeDefined();
+ expect(screen.queryByRole('option', { name: /Transporter/i })).toBeDefined();
+ expect(screen.queryByRole('option', { name: /Tsdf/i })).toBeDefined();
+ });
+ test('All options are available when site Type is undefined', () => {
+ renderWithProviders();
+ // screen.debug(undefined, Infinity);
+ expect(screen.queryByRole('option', { name: /generator/i })).toBeDefined();
+ expect(screen.queryByRole('option', { name: /Transporter/i })).toBeDefined();
+ expect(screen.queryByRole('option', { name: /Tsdf/i })).toBeDefined();
+ });
});
diff --git a/client/src/components/Manifest/SiteSelect/SiteTypeSelect.tsx b/client/src/components/Manifest/SiteSelect/SiteTypeSelect.tsx
index f47f8485a..eea81247d 100644
--- a/client/src/components/Manifest/SiteSelect/SiteTypeSelect.tsx
+++ b/client/src/components/Manifest/SiteSelect/SiteTypeSelect.tsx
@@ -5,8 +5,8 @@ import { Form } from 'react-bootstrap';
import { Control, Controller } from 'react-hook-form';
interface SiteTypeSelectProps {
- siteType: RcraSiteType | undefined;
- value: RcraSiteType | undefined;
+ siteType?: RcraSiteType;
+ value?: RcraSiteType;
handleChange: (siteType: RcraSiteType) => void;
control: Control;
disabled?: boolean;