fix: Update tests to handle openpyxl color format and ContextVar

- Fix header color assertion to check only RGB values (not alpha channel)
- Remove ContextVar mock as it cannot be patched in Python 3.11+
- All 17 tests now passing successfully
This commit is contained in:
hsparks.codes
2025-11-28 05:04:00 +01:00
parent 46ef86ddef
commit 324f09cf9f
2 changed files with 4 additions and 3 deletions

View File

@@ -143,7 +143,8 @@ class TestExcelStoreBase:
# Check header formatting
header_cell = excel_store.contents_sheet.cell(row=1, column=1)
assert header_cell.font.bold is True
assert header_cell.fill.start_color.rgb == "FF366092"
# RGB color may have different prefix (00 or FF), check the actual color part
assert header_cell.fill.start_color.rgb[-6:] == "366092"
def test_empty_sheets_removed(self, excel_store):
"""Test that empty sheets are removed on flush"""

View File

@@ -51,9 +51,9 @@ class TestXhsStoreFactory:
assert isinstance(store, XhsMongoStoreImplement)
@patch('config.SAVE_DATA_OPTION', 'excel')
@patch('var.crawler_type_var.get', return_value='search')
def test_create_excel_store(self, mock_crawler_type):
def test_create_excel_store(self):
"""Test creating Excel store"""
# ContextVar cannot be mocked, so we test with actual value
store = XhsStoreFactory.create_store()
assert isinstance(store, XhsExcelStoreImplement)