diff --git a/app/tests/TestLogin.py b/app/tests/TestLogin.py new file mode 100644 index 0000000..03eee0e --- /dev/null +++ b/app/tests/TestLogin.py @@ -0,0 +1,45 @@ +import unittest + +from app.views import * +from db.database_manager import DatabaseManager # 确保你可以导入DatabaseManager + +class LoginTestCase(unittest.TestCase): + + def setUp(self): + # 设置 Flask 测试模式 + app.testing = True + self.client = app.test_client() + + def test_login_get(self): + # 测试 GET 请求返回登录页面 + response = self.client.get('/login') + self.assertEqual(response.status_code, 200) + self.assertIn('text/html', response.content_type) + + def test_successful_login_post(self): + # 测试有效的登录 POST 请求 + with self.client: + response = self.client.post('/login', data={ + 'number': 'G0001', + 'password': '1' + }) + # 根据你的应用逻辑调整断言 + self.assertEqual(response.status_code, 200) + + def test_invalid_login_post(self): + # 测试无效的登录 POST 请求 + response = self.client.post('/login', data={ + 'number': 'admin', + 'password': 'admin' + }) + # 将返回的数据解析为JSON + json_data = response.get_json() + + # 确认JSON响应中的值 + self.assertEqual(response.status_code, 200) + self.assertFalse(json_data['success']) + self.assertEqual(json_data['message'], "无效的用户名或密码") + +# 运行测试 +if __name__ == '__main__': + unittest.main()