diff --git a/packages/core/src/renderer/components/+helm-charts/__tests__/icon.test.tsx b/packages/core/src/renderer/components/+helm-charts/__tests__/icon.test.tsx
new file mode 100644
index 0000000000..2339aba3d7
--- /dev/null
+++ b/packages/core/src/renderer/components/+helm-charts/__tests__/icon.test.tsx
@@ -0,0 +1,56 @@
+import React from 'react';
+import { render, screen } from '@testing-library/react';
+import { HelmChartIcon } from '../icon';
+
+const mainImageSrc = 'https://example.com/main-picture.jpg';
+const mainPngImageSrc = 'https://example.com/main-picture.png';
+const invalidImageSrc = 'file://invalid-image-url.png';
+const svgImageSrc = 'https://example.com/main-picture.svg';
+
+describe('HelmChartIcon', () => {
+ it('renders the placeholder image by default', () => {
+ render();
+ const imageContainer = screen.getByTestId('image-container');
+ expect(imageContainer.style.backgroundImage).toContain("data:image/svg+xml");
+ });
+
+ it("renders img tag when image url is valid", () => {
+ render();
+ const mainImage = screen.getByRole('img');
+ expect(mainImage).toBeInTheDocument();
+ });
+
+ it("renders jpg image when its loaded", () => {
+ render();
+
+ const imageContainer = screen.getByTestId('image-container');
+ const mainImage = screen.getByRole('img');
+
+ mainImage.dispatchEvent(new Event('load'));
+ expect(imageContainer.style.backgroundImage).toBe('url(https://example.com/main-picture.jpg)');
+ })
+
+ it("renders png image when its loaded", () => {
+ render();
+
+ const imageContainer = screen.getByTestId('image-container');
+ const mainImage = screen.getByRole('img');
+
+ mainImage.dispatchEvent(new Event('load'));
+ expect(imageContainer.style.backgroundImage).toBe('url(https://example.com/main-picture.png)');
+ })
+
+ it("does not render invalid image url", () => {
+ render();
+
+ const mainImage = screen.queryByRole('img');
+ expect(mainImage).not.toBeInTheDocument();
+ })
+
+ it("does not render svg image", () => {
+ render();
+
+ const mainImage = screen.queryByRole('img');
+ expect(mainImage).not.toBeInTheDocument();
+ })
+});