This commit is contained in:
Bryce
2025-08-11 06:37:24 -07:00
parent 0dac428217
commit cc1523cbb2
6 changed files with 92 additions and 173 deletions

View File

@@ -58,16 +58,16 @@ class TestAIRuleUserFlow:
with patch('app.routes.folders.ai_service') as mock_ai_service:
# Mock AI service response
mock_ai_service.generate_single_rule.return_value = (
"Move emails from 'boss@company.com' to this folder",
{'quality_score': 85, 'model_used': 'test-model'}
mock_ai_service.generate_multiple_rules.return_value = (
[{'text': "Move emails from 'boss@company.com' to this folder", 'quality_score': 85}],
{'total_generated': 1}
)
# Simulate AI rule generation request
response = client.post('/api/folders/generate-rule', data={
'folder_name': 'Work',
'folder_type': 'destination',
'rule_type': 'single'
'rule_type': 'multiple'
})
assert response.status_code == 200
@@ -117,16 +117,16 @@ class TestAIRuleUserFlow:
with patch('app.routes.folders.ai_service') as mock_ai_service:
# Mock AI service response
mock_ai_service.generate_single_rule.return_value = (
"Move emails from 'newsletter@company.com' to this folder",
{'quality_score': 90, 'model_used': 'test-model'}
mock_ai_service.generate_multiple_rules.return_value = (
[{'text': "Move emails from 'newsletter@company.com' to this folder", 'quality_score': 90}],
{'total_generated': 1}
)
# First, generate the rule
response = client.post('/api/folders/generate-rule', data={
'folder_name': 'Newsletters',
'folder_type': 'destination',
'rule_type': 'single'
'rule_type': 'multiple'
})
assert response.status_code == 200
@@ -183,7 +183,7 @@ class TestAIRuleUserFlow:
# Test with invalid inputs
response = client.post('/api/folders/generate-rule', data={
'folder_type': 'destination',
'rule_type': 'single'
'rule_type': 'multiple'
})
assert response.status_code == 200
@@ -198,13 +198,13 @@ class TestAIRuleUserFlow:
with patch('app.routes.folders.ai_service') as mock_ai_service:
# Mock AI service failure
mock_ai_service.generate_single_rule.return_value = (None, {'error': 'Service unavailable'})
mock_ai_service.generate_multiple_rules.return_value = (None, {'error': 'Service unavailable'})
mock_ai_service.get_fallback_rule.return_value = 'Move emails containing "Work" to this folder'
response = client.post('/api/folders/generate-rule', data={
'folder_name': 'Work',
'folder_type': 'destination',
'rule_type': 'single'
'rule_type': 'multiple'
})
assert response.status_code == 200