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', () => {
const diseaseLink = screen.getByText(/Disease:/i);
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).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(() => {
renderComponent(MOCKED_STORE);
});
......@@ -82,9 +84,11 @@ describe('ProjectInfoDrawer', () => {
const organismLink = screen.getByText(/Organism:/i);
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).toHaveAttribute('href', projectFixture.organism.link);
expect(linkelement).toHaveAttribute('href', projectFixture.organism?.link);
});
it('should render the source file download button', () => {
......
......@@ -63,28 +63,32 @@ export const ProjectInfoDrawer = (): JSX.Element => {
Manual
</a>
</li>
<li className="mt-2 text-hyperlink-blue">
<span className="text-black">Disease: </span>
<a
href={diseaseLink}
target="_blank"
rel="noopener noreferrer"
className="font-semibold hover:underline"
>
{diseaseName}
</a>
</li>
<li className="mt-2 text-hyperlink-blue">
<span className="text-black">Organism: </span>
<a
href={organismLink}
target="_blank"
rel="noopener noreferrer"
className="font-semibold hover:underline"
>
{organismName}
</a>
</li>
{diseaseName && (
<li className="mt-2 text-hyperlink-blue">
<span className="text-black">Disease: </span>
<a
href={diseaseLink}
target="_blank"
rel="noopener noreferrer"
className="font-semibold hover:underline"
>
{diseaseName}
</a>
</li>
)}
{organismName && (
<li className="mt-2 text-hyperlink-blue">
<span className="text-black">Organism: </span>
<a
href={organismLink}
target="_blank"
rel="noopener noreferrer"
className="font-semibold hover:underline"
>
{organismName}
</a>
</li>
)}
</ul>
<LinkButton className="mt-6" href={sourceDownloadLink} download="sourceFile.txt">
Download source file
......
......@@ -49,12 +49,12 @@ export const diseaseNameSelector = createSelector(
export const diseaseLinkSelector = createSelector(
projectDataSelector,
projectData => projectData?.disease.link,
projectData => projectData?.disease?.link,
);
export const organismLinkSelector = createSelector(
projectDataSelector,
projectData => projectData?.organism.link,
projectData => projectData?.organism?.link,
);
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