test
This commit is contained in:
@@ -12,7 +12,7 @@ MOCK_USER_ID = 1
|
||||
@main.route('/')
|
||||
def index():
|
||||
# Ensure the mock user exists
|
||||
user = User.query.get(MOCK_USER_ID)
|
||||
user = db.session.get(User, MOCK_USER_ID)
|
||||
if not user:
|
||||
user = User(id=MOCK_USER_ID, email='prototype@example.com')
|
||||
db.session.add(user)
|
||||
|
||||
@@ -37,10 +37,14 @@ def test_add_folder_validation_failure_empty_name(client, mock_user):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
# Check that the specific error message is present
|
||||
assert b'Folder name is required' in response.data
|
||||
error_text = soup.find(string='Folder name is required')
|
||||
assert error_text is not None
|
||||
# Check that the input field has the error class
|
||||
assert b'input-error' in response.data
|
||||
name_input = soup.find('input', {'name': 'name'})
|
||||
assert name_input is not None
|
||||
assert 'input-error' in name_input.get('class', [])
|
||||
|
||||
def test_add_folder_validation_failure_short_name(client, mock_user):
|
||||
"""Test validation failure when folder name is too short."""
|
||||
@@ -49,7 +53,9 @@ def test_add_folder_validation_failure_short_name(client, mock_user):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Folder name must be at least 3 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Folder name must be at least 3 characters')
|
||||
assert error_text is not None
|
||||
|
||||
def test_add_folder_validation_failure_long_name(client, mock_user):
|
||||
"""Test validation failure when folder name is too long."""
|
||||
@@ -59,7 +65,9 @@ def test_add_folder_validation_failure_long_name(client, mock_user):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Folder name must be less than 50 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Folder name must be less than 50 characters')
|
||||
assert error_text is not None
|
||||
|
||||
def test_add_folder_validation_failure_empty_rule(client, mock_user):
|
||||
"""Test validation failure when rule text is empty."""
|
||||
@@ -68,7 +76,9 @@ def test_add_folder_validation_failure_empty_rule(client, mock_user):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Rule text is required' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Rule text is required')
|
||||
assert error_text is not None
|
||||
|
||||
def test_add_folder_validation_failure_short_rule(client, mock_user):
|
||||
"""Test validation failure when rule text is too short."""
|
||||
@@ -77,7 +87,9 @@ def test_add_folder_validation_failure_short_rule(client, mock_user):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Rule text must be at least 10 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Rule text must be at least 10 characters')
|
||||
assert error_text is not None
|
||||
|
||||
def test_add_folder_validation_failure_long_rule(client, mock_user):
|
||||
"""Test validation failure when rule text is too long."""
|
||||
@@ -87,7 +99,9 @@ def test_add_folder_validation_failure_long_rule(client, mock_user):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Rule text must be less than 200 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Rule text must be less than 200 characters')
|
||||
assert error_text is not None
|
||||
|
||||
def test_add_folder_validation_multiple_errors(client, mock_user):
|
||||
"""Test validation failure with multiple errors."""
|
||||
@@ -96,8 +110,11 @@ def test_add_folder_validation_multiple_errors(client, mock_user):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Folder name must be at least 3 characters' in response.data
|
||||
assert b'Rule text must be at least 10 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text1 = soup.find(string='Folder name must be at least 3 characters')
|
||||
error_text2 = soup.find(string='Rule text must be at least 10 characters')
|
||||
assert error_text1 is not None
|
||||
assert error_text2 is not None
|
||||
|
||||
# Edit folder validation failure tests
|
||||
def test_edit_folder_validation_failure_empty_name(client, mock_folder):
|
||||
@@ -107,7 +124,9 @@ def test_edit_folder_validation_failure_empty_name(client, mock_folder):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Folder name is required' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Folder name is required')
|
||||
assert error_text is not None
|
||||
|
||||
def test_edit_folder_validation_failure_short_name(client, mock_folder):
|
||||
"""Test validation failure when folder name is too short during edit."""
|
||||
@@ -116,7 +135,9 @@ def test_edit_folder_validation_failure_short_name(client, mock_folder):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Folder name must be at least 3 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Folder name must be at least 3 characters')
|
||||
assert error_text is not None
|
||||
|
||||
def test_edit_folder_validation_failure_long_name(client, mock_folder):
|
||||
"""Test validation failure when folder name is too long during edit."""
|
||||
@@ -126,7 +147,9 @@ def test_edit_folder_validation_failure_long_name(client, mock_folder):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Folder name must be less than 50 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Folder name must be less than 50 characters')
|
||||
assert error_text is not None
|
||||
|
||||
def test_edit_folder_validation_failure_empty_rule(client, mock_folder):
|
||||
"""Test validation failure when rule text is empty during edit."""
|
||||
@@ -135,7 +158,9 @@ def test_edit_folder_validation_failure_empty_rule(client, mock_folder):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Rule text is required' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Rule text is required')
|
||||
assert error_text is not None
|
||||
|
||||
def test_edit_folder_validation_failure_short_rule(client, mock_folder):
|
||||
"""Test validation failure when rule text is too short during edit."""
|
||||
@@ -144,7 +169,9 @@ def test_edit_folder_validation_failure_short_rule(client, mock_folder):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Rule text must be at least 10 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Rule text must be at least 10 characters')
|
||||
assert error_text is not None
|
||||
|
||||
def test_edit_folder_validation_failure_long_rule(client, mock_folder):
|
||||
"""Test validation failure when rule text is too long during edit."""
|
||||
@@ -154,7 +181,9 @@ def test_edit_folder_validation_failure_long_rule(client, mock_folder):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Rule text must be less than 200 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text = soup.find(string='Rule text must be less than 200 characters')
|
||||
assert error_text is not None
|
||||
|
||||
def test_edit_folder_validation_multiple_errors(client, mock_folder):
|
||||
"""Test validation failure with multiple errors during edit."""
|
||||
@@ -163,8 +192,11 @@ def test_edit_folder_validation_multiple_errors(client, mock_folder):
|
||||
content_type='application/x-www-form-urlencoded')
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b'Folder name must be at least 3 characters' in response.data
|
||||
assert b'Rule text must be at least 10 characters' in response.data
|
||||
soup = BeautifulSoup(response.data, 'html.parser')
|
||||
error_text1 = soup.find(string='Folder name must be at least 3 characters')
|
||||
error_text2 = soup.find(string='Rule text must be at least 10 characters')
|
||||
assert error_text1 is not None
|
||||
assert error_text2 is not None
|
||||
|
||||
# Dialog close tests
|
||||
def test_add_folder_success_closes_dialog(client, mock_user):
|
||||
|
||||
Reference in New Issue
Block a user