123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import json
- import pytest
- from flask import url_for
- from models.model import Account
- # Sample user data for testing
- sample_user_data = {
- 'name': 'Test User',
- 'email': 'test@example.com',
- 'interface_language': 'en-US',
- 'interface_theme': 'light',
- 'timezone': 'America/New_York',
- 'password': 'testpassword',
- 'new_password': 'newtestpassword',
- 'repeat_new_password': 'newtestpassword'
- }
- # Create a test user and log them in
- @pytest.fixture(scope='function')
- def logged_in_user(client, session):
- # Create test user and add them to the database
- # Replace this with your actual User model and any required fields
- # todo refer to api.controllers.setup.SetupApi.post() to create a user
- db_user_data = sample_user_data.copy()
- db_user_data['password_salt'] = 'testpasswordsalt'
- del db_user_data['new_password']
- del db_user_data['repeat_new_password']
- test_user = Account(**db_user_data)
- session.add(test_user)
- session.commit()
- # Log in the test user
- client.post(url_for('console.loginapi'), data={'email': sample_user_data['email'], 'password': sample_user_data['password']})
- return test_user
- def test_account_profile(logged_in_user, client):
- response = client.get(url_for('console.accountprofileapi'))
- assert response.status_code == 200
- assert json.loads(response.data)['name'] == sample_user_data['name']
- def test_account_name(logged_in_user, client):
- new_name = 'New Test User'
- response = client.post(url_for('console.accountnameapi'), json={'name': new_name})
- assert response.status_code == 200
- assert json.loads(response.data)['name'] == new_name
- def test_account_interface_language(logged_in_user, client):
- new_language = 'zh-CN'
- response = client.post(url_for('console.accountinterfacelanguageapi'), json={'interface_language': new_language})
- assert response.status_code == 200
- assert json.loads(response.data)['interface_language'] == new_language
- def test_account_interface_theme(logged_in_user, client):
- new_theme = 'dark'
- response = client.post(url_for('console.accountinterfacethemeapi'), json={'interface_theme': new_theme})
- assert response.status_code == 200
- assert json.loads(response.data)['interface_theme'] == new_theme
- def test_account_timezone(logged_in_user, client):
- new_timezone = 'Asia/Shanghai'
- response = client.post(url_for('console.accounttimezoneapi'), json={'timezone': new_timezone})
- assert response.status_code == 200
- assert json.loads(response.data)['timezone'] == new_timezone
- def test_account_password(logged_in_user, client):
- response = client.post(url_for('console.accountpasswordapi'), json={
- 'password': sample_user_data['password'],
- 'new_password': sample_user_data['new_password'],
- 'repeat_new_password': sample_user_data['repeat_new_password']
- })
- assert response.status_code == 200
- assert json.loads(response.data)['result'] == 'success'
|