diff --git a/static_src/react/issue-wizard/DetailsStep.test.tsx b/static_src/react/issue-wizard/DetailsStep.test.tsx
index eaef0e7..e53c3a9 100644
--- a/static_src/react/issue-wizard/DetailsStep.test.tsx
+++ b/static_src/react/issue-wizard/DetailsStep.test.tsx
@@ -12,7 +12,12 @@
   afterEach(cleanup);
 
   it('renders', async () => {
-    const {container} = render(<DetailsStep />);
+    const textFiled = {
+      oneLineSummary: '',
+      stepsToReproduce: '',
+      describeProblem: '',
+    };
+    const {container} = render(<DetailsStep textValues={textFiled} setIsRegression={() => {}}/>);
 
     // this is checking for the first question
     const input = container.querySelector('input');
@@ -20,15 +25,21 @@
 
     // this is checking for the rest
     const count = document.querySelectorAll('textarea').length;
-    assert.equal(count, 3)
+    assert.equal(count, 4)
   });
 
   it('renders category in title', async () => {
-    const {container} = render(<DetailsStep category='UI'/>);
+    const textFiled = {
+      oneLineSummary: '',
+      stepsToReproduce: '',
+      describeProblem: '',
+    };
+
+    const {container} = render(<DetailsStep category='UI' textValues={textFiled} setIsRegression={() => {}}/>);
 
     // this is checking the title contains our category
     const title = container.querySelector('h2');
     assert.include(title?.innerText, 'Details for problems with UI');
   });
 
-});
\ No newline at end of file
+});
