Skip to content
Snippets Groups Projects
Commit bbdc1ed5 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

don't show links when disease and organism is not provided

parent 57330089
No related branches found
No related tags found
2 merge requests!223reset the pin numbers before search results are fetch (so the results will be...,!191Resolve "[MIN-322] Project without disease or organism defined"
...@@ -69,12 +69,14 @@ describe('ProjectInfoDrawer', () => { ...@@ -69,12 +69,14 @@ describe('ProjectInfoDrawer', () => {
const diseaseLink = screen.getByText(/Disease:/i); const diseaseLink = screen.getByText(/Disease:/i);
expect(diseaseLink).toBeInTheDocument(); expect(diseaseLink).toBeInTheDocument();
const linkelement = screen.getByRole('link', { name: projectFixture.diseaseName }); const linkelement = screen.getByRole('link', {
name: projectFixture.diseaseName ? projectFixture.diseaseName : 'xyz',
});
expect(linkelement).toBeInTheDocument(); expect(linkelement).toBeInTheDocument();
expect(linkelement).toHaveAttribute('href', projectFixture.disease.link); expect(linkelement).toHaveAttribute('href', projectFixture.disease?.link);
}); });
it('should fetch diesease name when diseaseId is provided', async () => { it('should fetch disease name when diseaseId is provided', async () => {
await act(() => { await act(() => {
renderComponent(MOCKED_STORE); renderComponent(MOCKED_STORE);
}); });
...@@ -82,9 +84,11 @@ describe('ProjectInfoDrawer', () => { ...@@ -82,9 +84,11 @@ describe('ProjectInfoDrawer', () => {
const organismLink = screen.getByText(/Organism:/i); const organismLink = screen.getByText(/Organism:/i);
expect(organismLink).toBeInTheDocument(); expect(organismLink).toBeInTheDocument();
const linkelement = screen.getByRole('link', { name: projectFixture.organismName }); const linkelement = screen.getByRole('link', {
name: projectFixture.organismName ? projectFixture.organismName : 'xyz',
});
expect(linkelement).toBeInTheDocument(); expect(linkelement).toBeInTheDocument();
expect(linkelement).toHaveAttribute('href', projectFixture.organism.link); expect(linkelement).toHaveAttribute('href', projectFixture.organism?.link);
}); });
it('should render the source file download button', () => { it('should render the source file download button', () => {
......
...@@ -63,28 +63,32 @@ export const ProjectInfoDrawer = (): JSX.Element => { ...@@ -63,28 +63,32 @@ export const ProjectInfoDrawer = (): JSX.Element => {
Manual Manual
</a> </a>
</li> </li>
<li className="mt-2 text-hyperlink-blue"> {diseaseName && (
<span className="text-black">Disease: </span> <li className="mt-2 text-hyperlink-blue">
<a <span className="text-black">Disease: </span>
href={diseaseLink} <a
target="_blank" href={diseaseLink}
rel="noopener noreferrer" target="_blank"
className="font-semibold hover:underline" rel="noopener noreferrer"
> className="font-semibold hover:underline"
{diseaseName} >
</a> {diseaseName}
</li> </a>
<li className="mt-2 text-hyperlink-blue"> </li>
<span className="text-black">Organism: </span> )}
<a {organismName && (
href={organismLink} <li className="mt-2 text-hyperlink-blue">
target="_blank" <span className="text-black">Organism: </span>
rel="noopener noreferrer" <a
className="font-semibold hover:underline" href={organismLink}
> target="_blank"
{organismName} rel="noopener noreferrer"
</a> className="font-semibold hover:underline"
</li> >
{organismName}
</a>
</li>
)}
</ul> </ul>
<LinkButton className="mt-6" href={sourceDownloadLink} download="sourceFile.txt"> <LinkButton className="mt-6" href={sourceDownloadLink} download="sourceFile.txt">
Download source file Download source file
......
...@@ -49,12 +49,12 @@ export const diseaseNameSelector = createSelector( ...@@ -49,12 +49,12 @@ export const diseaseNameSelector = createSelector(
export const diseaseLinkSelector = createSelector( export const diseaseLinkSelector = createSelector(
projectDataSelector, projectDataSelector,
projectData => projectData?.disease.link, projectData => projectData?.disease?.link,
); );
export const organismLinkSelector = createSelector( export const organismLinkSelector = createSelector(
projectDataSelector, projectDataSelector,
projectData => projectData?.organism.link, projectData => projectData?.organism?.link,
); );
export const organismNameSelector = createSelector( export const organismNameSelector = createSelector(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment