Refactor method names for clarity and consistency across the application
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
- Renamed `initialize_csv` to `_initialize_csv_file` in `DataManager` for better clarity. - Updated method calls in `GraphManager` from `_create_toggle_controls` to `_create_chart_toggles` and `_on_toggle_changed` to `_handle_toggle_changed`. - Changed method names in `MedTrackerApp` from `on_closing` to `handle_window_closing`, `add_entry` to `add_new_entry`, and `load_data` to `refresh_data_display`. - Adjusted corresponding test method names in `TestMedTrackerApp` to reflect the new method names. - Updated `UIManager` method names from `setup_icon` to `setup_application_icon` and adjusted related tests accordingly.
This commit is contained in:
@@ -90,8 +90,8 @@ class TestMedTrackerApp:
|
||||
|
||||
app = MedTrackerApp(root_window)
|
||||
|
||||
# Check that setup_icon was called on UI manager
|
||||
app.ui_manager.setup_icon.assert_called()
|
||||
# Check that setup_application_icon was called on UI manager
|
||||
app.ui_manager.setup_application_icon.assert_called()
|
||||
|
||||
def test_icon_setup_fallback_path(self, root_window, mock_managers):
|
||||
"""Test icon setup with fallback path."""
|
||||
@@ -103,10 +103,10 @@ class TestMedTrackerApp:
|
||||
|
||||
app = MedTrackerApp(root_window)
|
||||
|
||||
# Check that setup_icon was called with fallback path
|
||||
app.ui_manager.setup_icon.assert_called_with(img_path="./chart-671.png")
|
||||
# Check that setup_application_icon was called with fallback path
|
||||
app.ui_manager.setup_application_icon.assert_called_with(img_path="./chart-671.png")
|
||||
|
||||
def test_add_entry_success(self, root_window, mock_managers):
|
||||
def test_add_new_entry_success(self, root_window, mock_managers):
|
||||
"""Test successful entry addition."""
|
||||
with patch('sys.argv', ['main.py']):
|
||||
app = MedTrackerApp(root_window)
|
||||
@@ -136,15 +136,15 @@ class TestMedTrackerApp:
|
||||
|
||||
with patch('tkinter.messagebox.showinfo') as mock_info, \
|
||||
patch.object(app, '_clear_entries') as mock_clear, \
|
||||
patch.object(app, 'load_data') as mock_load:
|
||||
patch.object(app, 'refresh_data_display') as mock_load:
|
||||
|
||||
app.add_entry()
|
||||
app.add_new_entry()
|
||||
|
||||
mock_info.assert_called_once()
|
||||
mock_clear.assert_called_once()
|
||||
mock_load.assert_called_once()
|
||||
|
||||
def test_add_entry_empty_date(self, root_window, mock_managers):
|
||||
def test_add_new_entry_empty_date(self, root_window, mock_managers):
|
||||
"""Test adding entry with empty date."""
|
||||
with patch('sys.argv', ['main.py']):
|
||||
app = MedTrackerApp(root_window)
|
||||
@@ -153,13 +153,13 @@ class TestMedTrackerApp:
|
||||
app.date_var.get.return_value = " " # Empty/whitespace date
|
||||
|
||||
with patch('tkinter.messagebox.showerror') as mock_error:
|
||||
app.add_entry()
|
||||
app.add_new_entry()
|
||||
|
||||
mock_error.assert_called_once_with(
|
||||
"Error", "Please enter a date.", parent=app.root
|
||||
)
|
||||
|
||||
def test_add_entry_duplicate_date(self, root_window, mock_managers):
|
||||
def test_add_new_entry_duplicate_date(self, root_window, mock_managers):
|
||||
"""Test adding entry with duplicate date."""
|
||||
with patch('sys.argv', ['main.py']):
|
||||
app = MedTrackerApp(root_window)
|
||||
@@ -186,12 +186,12 @@ class TestMedTrackerApp:
|
||||
app.data_manager.load_data.return_value = mock_df
|
||||
|
||||
with patch('tkinter.messagebox.showerror') as mock_error:
|
||||
app.add_entry()
|
||||
app.add_new_entry()
|
||||
|
||||
mock_error.assert_called_once()
|
||||
assert "already exists" in mock_error.call_args[0][1]
|
||||
|
||||
def test_on_double_click(self, root_window, mock_managers):
|
||||
def test_handle_double_click(self, root_window, mock_managers):
|
||||
"""Test double-click event handling."""
|
||||
with patch('sys.argv', ['main.py']):
|
||||
app = MedTrackerApp(root_window)
|
||||
@@ -205,11 +205,11 @@ class TestMedTrackerApp:
|
||||
mock_event = Mock()
|
||||
|
||||
with patch.object(app, '_create_edit_window') as mock_create_edit:
|
||||
app.on_double_click(mock_event)
|
||||
app.handle_double_click(mock_event)
|
||||
|
||||
mock_create_edit.assert_called_once()
|
||||
|
||||
def test_on_double_click_empty_tree(self, root_window, mock_managers):
|
||||
def test_handle_double_click_empty_tree(self, root_window, mock_managers):
|
||||
"""Test double-click when tree is empty."""
|
||||
with patch('sys.argv', ['main.py']):
|
||||
app = MedTrackerApp(root_window)
|
||||
@@ -220,7 +220,7 @@ class TestMedTrackerApp:
|
||||
mock_event = Mock()
|
||||
|
||||
with patch.object(app, '_create_edit_window') as mock_create_edit:
|
||||
app.on_double_click(mock_event)
|
||||
app.handle_double_click(mock_event)
|
||||
|
||||
mock_create_edit.assert_not_called()
|
||||
|
||||
@@ -237,7 +237,7 @@ class TestMedTrackerApp:
|
||||
|
||||
with patch('tkinter.messagebox.showinfo') as mock_info, \
|
||||
patch.object(app, '_clear_entries') as mock_clear, \
|
||||
patch.object(app, 'load_data') as mock_load:
|
||||
patch.object(app, 'refresh_data_display') as mock_load:
|
||||
|
||||
app._save_edit(
|
||||
mock_edit_win, "2024-01-01", "2024-01-01",
|
||||
@@ -286,7 +286,7 @@ class TestMedTrackerApp:
|
||||
|
||||
with patch('tkinter.messagebox.askyesno', return_value=True) as mock_confirm, \
|
||||
patch('tkinter.messagebox.showinfo') as mock_info, \
|
||||
patch.object(app, 'load_data') as mock_load:
|
||||
patch.object(app, 'refresh_data_display') as mock_load:
|
||||
|
||||
app._delete_entry(mock_edit_win, 'item1')
|
||||
|
||||
@@ -328,7 +328,7 @@ class TestMedTrackerApp:
|
||||
for med_var in app.medicine_vars.values():
|
||||
med_var[0].set.assert_called_with(0)
|
||||
|
||||
def test_load_data(self, root_window, mock_managers):
|
||||
def test_refresh_data_display(self, root_window, mock_managers):
|
||||
"""Test loading data into tree and graph."""
|
||||
with patch('sys.argv', ['main.py']):
|
||||
app = MedTrackerApp(root_window)
|
||||
@@ -345,7 +345,7 @@ class TestMedTrackerApp:
|
||||
})
|
||||
app.data_manager.load_data.return_value = mock_df
|
||||
|
||||
app.load_data()
|
||||
app.refresh_data_display()
|
||||
|
||||
# Check that tree was cleared and populated
|
||||
app.tree.delete.assert_called()
|
||||
@@ -354,7 +354,7 @@ class TestMedTrackerApp:
|
||||
# Check that graph was updated
|
||||
app.graph_manager.update_graph.assert_called_with(mock_df)
|
||||
|
||||
def test_load_data_empty_dataframe(self, root_window, mock_managers):
|
||||
def test_refresh_data_display_empty_dataframe(self, root_window, mock_managers):
|
||||
"""Test loading empty data."""
|
||||
with patch('sys.argv', ['main.py']):
|
||||
app = MedTrackerApp(root_window)
|
||||
@@ -366,29 +366,29 @@ class TestMedTrackerApp:
|
||||
empty_df = pd.DataFrame()
|
||||
app.data_manager.load_data.return_value = empty_df
|
||||
|
||||
app.load_data()
|
||||
app.refresh_data_display()
|
||||
|
||||
# Graph should still be updated even with empty data
|
||||
app.graph_manager.update_graph.assert_called_with(empty_df)
|
||||
|
||||
def test_on_closing_confirmed(self, root_window, mock_managers):
|
||||
def test_handle_window_closing_confirmed(self, root_window, mock_managers):
|
||||
"""Test application closing when confirmed."""
|
||||
with patch('sys.argv', ['main.py']):
|
||||
app = MedTrackerApp(root_window)
|
||||
|
||||
with patch('tkinter.messagebox.askokcancel', return_value=True) as mock_confirm:
|
||||
app.on_closing()
|
||||
app.handle_window_closing()
|
||||
|
||||
mock_confirm.assert_called_once()
|
||||
app.graph_manager.close.assert_called_once()
|
||||
|
||||
def test_on_closing_cancelled(self, root_window, mock_managers):
|
||||
def test_handle_window_closing_cancelled(self, root_window, mock_managers):
|
||||
"""Test application closing when cancelled."""
|
||||
with patch('sys.argv', ['main.py']):
|
||||
app = MedTrackerApp(root_window)
|
||||
|
||||
with patch('tkinter.messagebox.askokcancel', return_value=False) as mock_confirm:
|
||||
app.on_closing()
|
||||
app.handle_window_closing()
|
||||
|
||||
mock_confirm.assert_called_once()
|
||||
app.graph_manager.close.assert_not_called()
|
||||
|
||||
Reference in New Issue
Block a user