Compare commits

...

7 Commits

Author SHA1 Message Date
wangsiyuan eb074e5dd5 更新 database_manager.py 2023-12-29 16:07:22 +08:00
wangsiyuan 6ef3faf149 创建 TestLogin.py 2023-12-29 16:07:20 +08:00
wangsiyuan 9b519f4650 更新 login.html 2023-12-29 16:04:57 +08:00
wangsiyuan d6bef5812b 删除 init.py 2023-12-29 16:04:54 +08:00
wangsiyuan 8e8fccbb1a 创建 app.py 2023-12-29 16:04:52 +08:00
wangsiyuan 237f0acf8d 删除 app.py 2023-12-29 16:04:50 +08:00
wangsiyuan 44ce96c7d9 更新 views.py 2023-12-29 16:04:42 +08:00
7 changed files with 51 additions and 3 deletions

0
app.py
View File

2
app/app.py Normal file
View File

@ -0,0 +1,2 @@
import views

View File

View File

@ -64,6 +64,7 @@
data: data.field, // 表单数据
dataType: 'json',
success: function (response) {
console.log(response)
if (response.success) {
window.location.href = '/attendance-reminder'; // 或者你的成功页面
} else {

45
app/tests/TestLogin.py Normal file
View File

@ -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()

View File

@ -97,7 +97,7 @@ def login():
session['role'] = check_identity(number)
session['name'] = result['name']
return jsonify(success=True, message="登录成功")
elif not result['status']:
elif not result.get('status'):
# 用户被禁用的情况
return jsonify(success=False, message="账户已被禁用")
else:
@ -395,7 +395,7 @@ def teacher_sign_in():
print(f"course_id: {course_id},course_name: {course_name},class_name: {class_name},major_id: {major_id}")
db_manager = DatabaseManager()
data = db_manager.teacher_sign_in(course_id, course_name, class_name, major_id, date, status,teacher_number)
data = db_manager.teacher_sign_in(course_id, course_name, class_name, major_id, date, status, teacher_number)
return data

View File

@ -77,7 +77,7 @@ class DatabaseManager:
return {'valid': True, 'status': status, 'name': name}
# 密码不匹配或用户不存在,返回登录失败
return {'valid': False}
return {'valid': False, 'status': True}
def get_menu(self, role):
sql = "SELECT menu_name,path FROM menu_items WHERE role=%s ORDER BY `order`"