Initial LinkLog implementation
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from backend.app.main import app
|
||||
|
||||
|
||||
client = TestClient(app)
|
||||
|
||||
|
||||
def test_user_config_api_and_profile_page():
|
||||
login = client.post('/api/auth/login', json={
|
||||
'username': 'alice',
|
||||
'password': 'secret123',
|
||||
}).json()
|
||||
headers = {'Authorization': f"Bearer {login['access_token']}"}
|
||||
|
||||
profile_response = client.get('/api/user/me', headers=headers)
|
||||
assert profile_response.status_code == 200
|
||||
payload = profile_response.json()
|
||||
assert payload['username'] == 'alice'
|
||||
|
||||
update_response = client.put('/api/user/me', json={
|
||||
'username': 'should-not-change',
|
||||
'bio': 'Updated bio',
|
||||
'avatar_url': 'https://example.com/new-avatar.png'
|
||||
}, headers=headers)
|
||||
assert update_response.status_code == 200
|
||||
|
||||
page_response = client.get('/profile')
|
||||
assert page_response.status_code == 200
|
||||
assert 'Profile' in page_response.text
|
||||
assert '<output id="username" class="readonly-value">Loading...</output>' in page_response.text
|
||||
assert 'name="username"' not in page_response.text
|
||||
assert '<textarea id="bio" name="bio" rows="4"></textarea>' in page_response.text
|
||||
assert 'https://example.com/avatar.png' in page_response.text
|
||||
assert 'value="mastodon.social"' in page_response.text
|
||||
assert 'From my #LinkLog: "' in page_response.text
|
||||
assert 'id="admin-link"' in page_response.text
|
||||
assert 'class="login-button hidden"' in page_response.text
|
||||
assert 'id="logout-button" class="logout-button hidden"' in page_response.text
|
||||
Reference in New Issue
Block a user