Skip to content

Commit

Permalink
feat: add integration tests for specification wizard
Browse files Browse the repository at this point in the history
  • Loading branch information
nicoalee committed Oct 1, 2024
1 parent 0e072c8 commit 748505e
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ describe('CreateSpecificationDialog', () => {
fixture: 'projects/projectCanCreateSpecification',
}).as('projectFixture');
cy.intercept('GET', `**/api/studysets/*`, { fixture: 'studyset' }).as('studysetFixture');
cy.intercept('GET', '**/api/annotations/*', { fixture: 'annotation' }).as(
'annotationFixture'
);
});

it('should show the dialog', () => {
Expand All @@ -23,5 +26,51 @@ describe('CreateSpecificationDialog', () => {
cy.contains('button', 'Meta-Analyses').click();
cy.contains('button', 'Meta-Analysis Specification').click();
cy.get('.MuiDialog-container').should('be.visible');
cy.contains('button', 'Back').should('be.disabled');
});

it('should set the default specification values', () => {
cy.login('mocked', { sub: 'github|26612023' })
.visit('/projects/abc123')
.wait('@projectFixture');
cy.contains('button', 'Meta-Analyses').click();
cy.contains('button', 'Meta-Analysis Specification').click();
cy.get('.MuiDialog-container').should('be.visible');
cy.contains('MKDADensity').should('exist');
cy.contains('FDRCorrector').should('exist');
});

it.only('should step through the wizard', () => {
cy.intercept('POST', '**/api/specifications', {
id: 'mockedSpecificationId',
}).as('createSpecificationFixture');
cy.intercept('POST', '**/api/studysets', {
id: 'mockedStudySetId',
});
cy.intercept('POST', '**/api/annotations', {
id: 'mockedAnnotationId',
});
cy.intercept('POST', '**/api/meta-analyses', {
id: 'mockedMetaAnalysisId',
specification: {},
});
cy.intercept('GET', '**/api/specifications/*', {
fixture: 'specification',
});

cy.intercept('GET', '**/api/meta-analyses/mockedMetaAnalysisId*', {
fixture: 'metaAnalysis',
}).as('metaAnalysesFixture');

cy.login('mocked', { sub: 'github|26612023' })
.visit('/projects/abc123')
.wait('@projectFixture');
cy.contains('button', 'Meta-Analyses').click();
cy.contains('button', 'Meta-Analysis Specification').click();
cy.contains('Next').click();
cy.contains('included').should('exist');
cy.contains('button', 'Next').click();
cy.contains('button', 'Next').click();
cy.contains('button', 'Create Meta-Analysis Specification').click();
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ const CreateMetaAnalysisSpecificationAlgorithmStep: React.FC<{
algorithm={algorithmSpec}
onSelectSpecification={(update) => setAlgorithmSpec(update)}
/>
<Box sx={{ width: '100$%', marginTop: '1rem' }}>
<Box sx={{ marginTop: '1rem' }}>
<NavigationButtons
nextButtonDisabled={!algorithmSpec.estimator}
nextButtonStyle="contained"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import CreateMetaAnalysisSpecificationReview from 'pages/MetaAnalysis/components
import CreateMetaAnalysisSpecificationSelectionStep from 'pages/MetaAnalysis/components/CreateMetaAnalysisSpecificationSelectionStep';
import {
getDefaultValuesForTypeAndParameter,
correctorOpt,
algorithmOpt,
correctorDefaultOption,
algorithmDefaultOption,
} from './CreateMetaAnalysisSpecificationDialogConstants';

const CreateMetaAnalysisSpecificationDialogBase: React.FC<IDialog> = (props) => {
Expand All @@ -35,10 +35,16 @@ const CreateMetaAnalysisSpecificationDialogBase: React.FC<IDialog> = (props) =>
referenceDataset: undefined,
});
const [algorithm, setAlgorithm] = useState<IAlgorithmSelection>({
estimator: algorithmOpt,
estimatorArgs: getDefaultValuesForTypeAndParameter(EAnalysisType.CBMA, algorithmOpt?.label),
corrector: correctorOpt,
correctorArgs: getDefaultValuesForTypeAndParameter('CORRECTOR', correctorOpt?.label),
estimator: algorithmDefaultOption,
estimatorArgs: getDefaultValuesForTypeAndParameter(
EAnalysisType.CBMA,
algorithmDefaultOption?.label
),
corrector: correctorDefaultOption,
correctorArgs: getDefaultValuesForTypeAndParameter(
'CORRECTOR',
correctorDefaultOption?.label
),
});

useEffect(() => {
Expand All @@ -52,13 +58,16 @@ const CreateMetaAnalysisSpecificationDialogBase: React.FC<IDialog> = (props) =>
props.onCloseDialog();
setActiveStep(0);
setAlgorithm({
estimator: algorithmOpt,
estimator: algorithmDefaultOption,
estimatorArgs: getDefaultValuesForTypeAndParameter(
EAnalysisType.CBMA,
algorithmOpt?.label
algorithmDefaultOption?.label
),
corrector: correctorDefaultOption,
correctorArgs: getDefaultValuesForTypeAndParameter(
'CORRECTOR',
correctorDefaultOption?.label
),
corrector: correctorOpt,
correctorArgs: getDefaultValuesForTypeAndParameter('CORRECTOR', correctorOpt?.label),
});
setSelection({
selectionKey: undefined,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,16 @@ const correctorOptions: IAutocompleteObject[] = Object.keys(
description: metaAnalysisSpecification.CORRECTOR[corrector]?.summary,
}));

const correctorOpt =
const correctorDefaultOption =
correctorOptions.find((corrector) => corrector.label === 'FDRCorrector') || null;
const algorithmOpt = metaAnalyticAlgorithms.find((algo) => algo.label === 'MKDADensity') || null;
const algorithmDefaultOption =
metaAnalyticAlgorithms.find((algo) => algo.label === 'MKDADensity') || null;

export {
getDefaultValuesForTypeAndParameter,
metaAnalysisSpecification,
metaAnalyticAlgorithms,
correctorOptions,
correctorOpt,
algorithmOpt,
correctorDefaultOption,
algorithmDefaultOption,
};
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ const CreateMetaAnalysisSpecificationSelectionStep: React.FC<{
onClick={() => handleNavigate(ENavigationButton.PREV)}
variant="outlined"
>
back
Back
</Button>
<SelectAnalysesSummaryComponent
annotationdId={annotationId || ''}
Expand All @@ -114,7 +114,7 @@ const CreateMetaAnalysisSpecificationSelectionStep: React.FC<{
}
onClick={() => handleNavigate(ENavigationButton.NEXT)}
>
next
Next
</Button>
</Box>
</Box>
Expand Down

0 comments on commit 748505e

Please sign in to comment.