From 73652b66e914e02650f9515a4e2ea48e6107a044 Mon Sep 17 00:00:00 2001 From: olav Date: Wed, 6 Apr 2022 12:08:57 +0200 Subject: [PATCH] refactor: improve GeneralSelect prop types (#841) * refactor: improve GeneralSelect prop types * refactor: intercept ui config requests in auth spec --- frontend/cypress/integration/auth/auth.spec.ts | 16 ++++++++-------- .../admin/apiToken/ApiTokenForm/ApiTokenForm.tsx | 5 ++--- .../ConstraintAccordionEditHeader.tsx | 9 +-------- .../common/GeneralSelect/GeneralSelect.tsx | 10 ++++++++-- 4 files changed, 19 insertions(+), 21 deletions(-) diff --git a/frontend/cypress/integration/auth/auth.spec.ts b/frontend/cypress/integration/auth/auth.spec.ts index 8c2d25e47a..d2fd193bb3 100644 --- a/frontend/cypress/integration/auth/auth.spec.ts +++ b/frontend/cypress/integration/auth/auth.spec.ts @@ -4,7 +4,7 @@ export {}; describe('auth', () => { it('renders the password login', () => { - cy.intercept('GET', '/api/admin/user', { + cy.intercept('GET', '/api/admin/**', { statusCode: 401, body: { defaultHidden: false, @@ -29,7 +29,7 @@ describe('auth', () => { }); it('renders does not render password login if defaultHidden is true', () => { - cy.intercept('GET', '/api/admin/user', { + cy.intercept('GET', '/api/admin/**', { statusCode: 401, body: { defaultHidden: true, @@ -48,7 +48,7 @@ describe('auth', () => { it('renders google auth when options are specified', () => { const ssoPath = '/auth/google/login'; - cy.intercept('GET', '/api/admin/user', { + cy.intercept('GET', '/api/admin/**', { statusCode: 401, body: { defaultHidden: true, @@ -77,7 +77,7 @@ describe('auth', () => { it('renders oidc auth when options are specified', () => { const ssoPath = '/auth/oidc/login'; - cy.intercept('GET', '/api/admin/user', { + cy.intercept('GET', '/api/admin/**', { statusCode: 401, body: { defaultHidden: true, @@ -106,7 +106,7 @@ describe('auth', () => { it('renders saml auth when options are specified', () => { const ssoPath = '/auth/saml/login'; - cy.intercept('GET', '/api/admin/user', { + cy.intercept('GET', '/api/admin/**', { statusCode: 401, body: { defaultHidden: true, @@ -133,7 +133,7 @@ describe('auth', () => { }); it('can visit forgot password when password auth is enabled', () => { - cy.intercept('GET', '/api/admin/user', { + cy.intercept('GET', '/api/admin/**', { statusCode: 401, body: { defaultHidden: false, @@ -151,7 +151,7 @@ describe('auth', () => { it('renders demo auth correctly', () => { const email = 'hello@hello.com'; - cy.intercept('GET', '/api/admin/user', { + cy.intercept('GET', '/api/admin/**', { statusCode: 401, body: { defaultHidden: false, @@ -174,7 +174,7 @@ describe('auth', () => { it('renders email auth correctly', () => { const email = 'hello@hello.com'; - cy.intercept('GET', '/api/admin/user', { + cy.intercept('GET', '/api/admin/**', { statusCode: 401, body: { defaultHidden: false, diff --git a/frontend/src/component/admin/apiToken/ApiTokenForm/ApiTokenForm.tsx b/frontend/src/component/admin/apiToken/ApiTokenForm/ApiTokenForm.tsx index 0c45ea030f..f62f70c493 100644 --- a/frontend/src/component/admin/apiToken/ApiTokenForm/ApiTokenForm.tsx +++ b/frontend/src/component/admin/apiToken/ApiTokenForm/ApiTokenForm.tsx @@ -92,7 +92,6 @@ const ApiTokenForm: React.FC = ({ label="Token Type" id="api_key_type" name="type" - // @ts-expect-error IconComponent={KeyboardArrowDownOutlined} className={styles.selectInput} /> @@ -105,7 +104,8 @@ const ApiTokenForm: React.FC = ({ options={selectableProjects} onChange={e => setProject(e.target.value as string)} label="Project" - // @ts-expect-error + id="api_key_project" + name="project" IconComponent={KeyboardArrowDownOutlined} className={styles.selectInput} /> @@ -120,7 +120,6 @@ const ApiTokenForm: React.FC = ({ label="Environment" id="api_key_environment" name="environment" - // @ts-expect-error IconComponent={KeyboardArrowDownOutlined} className={styles.selectInput} /> diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx index 448db11630..8d759eee61 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditHeader/ConstraintAccordionEditHeader.tsx @@ -125,14 +125,7 @@ export const ConstraintAccordionEditHeader = ({ autoFocus options={constraintNameOptions} value={localConstraint.contextName || ''} - onChange={( - e: React.ChangeEvent<{ - name?: string; - value: unknown; - }> - ) => { - setContextName(e.target.value as string); - }} + onChange={e => setContextName(String(e.target.value))} className={styles.headerSelect} /> diff --git a/frontend/src/component/common/GeneralSelect/GeneralSelect.tsx b/frontend/src/component/common/GeneralSelect/GeneralSelect.tsx index cf758063ee..31e9cadf90 100644 --- a/frontend/src/component/common/GeneralSelect/GeneralSelect.tsx +++ b/frontend/src/component/common/GeneralSelect/GeneralSelect.tsx @@ -1,5 +1,11 @@ import React from 'react'; -import { FormControl, InputLabel, MenuItem, Select } from '@material-ui/core'; +import { + FormControl, + InputLabel, + MenuItem, + Select, + SelectProps, +} from '@material-ui/core'; import { SELECT_ITEM_ID } from 'utils/testIds'; import { KeyboardArrowDownOutlined } from '@material-ui/icons'; @@ -10,7 +16,7 @@ export interface ISelectOption { disabled?: boolean; } -export interface ISelectMenuProps { +export interface ISelectMenuProps extends SelectProps { name: string; id: string; value?: string;