rDrama/files/tests/fixture_submissions.py
justcool393 8191d5a4cf
rename fullnames
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.
2023-07-13 14:37:28 -05:00

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