Skip to content

Commit

Permalink
test showing siteType selection is disabled until after the user sele…
Browse files Browse the repository at this point in the history
…cts a site to manifest as
  • Loading branch information
dpgraham4401 committed Sep 25, 2023
1 parent c59b5f8 commit 24fb6a6
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 4 deletions.
34 changes: 33 additions & 1 deletion client/src/features/manifest/NewManifest.spec.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,49 @@
import '@testing-library/jest-dom';
import userEvent from '@testing-library/user-event';
import { NewManifest } from 'features/manifest/NewManifest';
import React from 'react';
import { renderWithProviders, screen } from 'test-utils';
import { createMockPermission, createMockSite } from 'test-utils/fixtures/mockHandler';
import { describe, expect, test } from 'vitest';

describe('NewManifest', () => {
test('renders', () => {
renderWithProviders(<NewManifest />, {});
expect(screen.getByRole('combobox', { name: /site Role/i })).toBeInTheDocument();
});
test('site type select is initially disabled', () => {
test('site type is initially disabled', () => {
renderWithProviders(<NewManifest />, {});
const siteRole = screen.getByRole('combobox', { name: /site Role/i });
expect(siteRole).toBeDisabled();
});
test('site type is not disabled after selecting a site', async () => {
const mySiteId = 'VATESTGEN001';
const mySiteName = 'My Site';
const mySite = createMockSite({
name: mySiteName,
// @ts-ignore
handler: { epaSiteId: mySiteId, siteType: 'Tsdf' },
});
renderWithProviders(<NewManifest />, {
preloadedState: {
rcraProfile: {
user: 'username',
phoneNumber: '1231231234',
apiUser: false,
rcraSites: {
VATESTGEN001: {
site: { ...mySite },
permissions: createMockPermission(),
},
},
},
},
});
const siteSelection = screen.getByRole('combobox', { name: /site select/i });
await userEvent.click(siteSelection);
await userEvent.keyboard('{enter}');
expect(screen.getByText(new RegExp(`${mySiteId} --`, 'i'))).toBeInTheDocument();
const siteRole = screen.getByRole('combobox', { name: /site Role/i });
expect(siteRole).not.toBeDisabled();
});
});
6 changes: 3 additions & 3 deletions client/src/test-utils/fixtures/mockHandler.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { HaztrakSite } from 'components/HaztrakSite';
import { Handler } from 'components/Manifest';
import { RcraSite } from 'components/RcraSite';
import { Transporter } from 'components/Manifest/Transporter';
import { RcraSitePermissions, RcraProfileSite } from 'store/rcraProfileSlice/rcraProfile.slice';
import { RcraSite } from 'components/RcraSite';
import { RcraSitePermissions } from 'store/rcraProfileSlice/rcraProfile.slice';

/**
* A mock handler object for tests
Expand Down Expand Up @@ -77,7 +77,7 @@ export function createMockMTNHandler(overWrites?: Partial<Handler>): Handler {

export function createMockSite(overWrites?: Partial<HaztrakSite>): HaztrakSite {
return {
handler: createMockHandler(),
handler: createMockHandler(overWrites?.handler),
name: 'mySiteName',
...overWrites,
};
Expand Down

0 comments on commit 24fb6a6

Please sign in to comment.