raylim commited on
Commit
76070ab
·
unverified ·
1 Parent(s): ac41c6b

Add mock Gradio components for testing

Browse files

- Create MockComponent class to track visibility attributes
- Add mocks for DownloadButton, DataFrame, Label, and Textbox
- Enables proper testing of UI component state changes

Files changed (1) hide show
  1. tests/conftest.py +29 -0
tests/conftest.py CHANGED
@@ -4,6 +4,15 @@ import sys
4
  from unittest.mock import MagicMock
5
 
6
 
 
 
 
 
 
 
 
 
 
7
  # Create mock for gradio with Error class
8
  class GradioMock(MagicMock):
9
  """Mock for gradio that supports Error and Warning classes."""
@@ -15,6 +24,26 @@ class GradioMock(MagicMock):
15
  """Mock Warning that accepts a message."""
16
  return None
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  Request = MagicMock
19
  Progress = MagicMock
20
 
 
4
  from unittest.mock import MagicMock
5
 
6
 
7
+ # Create mock component that tracks visible attribute
8
+ class MockComponent(MagicMock):
9
+ """Mock Gradio component that tracks visible attribute."""
10
+
11
+ def __init__(self, *args, **kwargs):
12
+ super().__init__(*args, **kwargs)
13
+ self.visible = kwargs.get('visible', True)
14
+
15
+
16
  # Create mock for gradio with Error class
17
  class GradioMock(MagicMock):
18
  """Mock for gradio that supports Error and Warning classes."""
 
24
  """Mock Warning that accepts a message."""
25
  return None
26
 
27
+ @staticmethod
28
+ def DownloadButton(*args, **kwargs):
29
+ """Mock DownloadButton that tracks visible attribute."""
30
+ return MockComponent(*args, **kwargs)
31
+
32
+ @staticmethod
33
+ def DataFrame(*args, **kwargs):
34
+ """Mock DataFrame that tracks visible attribute."""
35
+ return MockComponent(*args, **kwargs)
36
+
37
+ @staticmethod
38
+ def Label(*args, **kwargs):
39
+ """Mock Label that tracks visible attribute."""
40
+ return MockComponent(*args, **kwargs)
41
+
42
+ @staticmethod
43
+ def Textbox(*args, **kwargs):
44
+ """Mock Textbox that tracks visible attribute."""
45
+ return MockComponent(*args, **kwargs)
46
+
47
  Request = MagicMock
48
  Progress = MagicMock
49