
Handle a couple places with `t3_` that persisted from code movement. on master after time of branch. Then, fix commenting, which used inaccurate fullname parsing logic.
42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
from . import util
|
|
|
|
from bs4 import BeautifulSoup
|
|
from files.__main__ import app, db_session
|
|
from files.classes import Submission
|
|
from functools import lru_cache
|
|
import pytest
|
|
from time import time, sleep
|
|
|
|
class SubmissionsFixture:
|
|
def submission_for_client(self, client, data):
|
|
submit_get_response = client.get("/submit")
|
|
assert submit_get_response.status_code == 200
|
|
post_title = data.get('title', util.generate_text())
|
|
post_body = data.get('body', util.generate_text())
|
|
submit_post_response = client.post("/submit", data={
|
|
"title": post_title,
|
|
"body": post_body,
|
|
"formkey": util.formkey_from(submit_get_response.text),
|
|
**data,
|
|
})
|
|
assert submit_post_response.status_code == 200
|
|
assert post_title in submit_post_response.text
|
|
assert post_body in submit_post_response.text
|
|
post_info = util.ItemData.from_html(submit_post_response.text)
|
|
post_id_full = post_info.id_full
|
|
assert post_id_full.startswith('post_')
|
|
|
|
post_id = int(post_id_full.split('_')[1])
|
|
|
|
db = db_session()
|
|
submission = db.query(Submission).filter_by(id=post_id).first()
|
|
assert Submission == type(submission)
|
|
return submission
|
|
|
|
@pytest.fixture(scope="session")
|
|
def submissions():
|
|
return SubmissionsFixture()
|
|
|
|
|
|
|
|
|