mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
housekeep: TU rename - Table/Column names, scripts
TU_VoteInfo -> VoteInfo TU_Votes -> Votes TU_VoteInfo.ActiveTUs -> VoteInfo.ActiveUsers script: tuvotereminder -> votereminder Signed-off-by: moson <moson@archlinux.org>
This commit is contained in:
parent
87f6791ea8
commit
d2d47254b4
23 changed files with 234 additions and 192 deletions
|
@ -11,7 +11,7 @@ GIT_AUTH="$TOPLEVEL/aurweb/git/auth.py"
|
|||
GIT_SERVE="$TOPLEVEL/aurweb/git/serve.py"
|
||||
GIT_UPDATE="$TOPLEVEL/aurweb/git/update.py"
|
||||
MKPKGLISTS="$TOPLEVEL/aurweb/scripts/mkpkglists.py"
|
||||
TUVOTEREMINDER="$TOPLEVEL/aurweb/scripts/tuvotereminder.py"
|
||||
VOTEREMINDER="$TOPLEVEL/aurweb/scripts/votereminder.py"
|
||||
PKGMAINT="$TOPLEVEL/aurweb/scripts/pkgmaint.py"
|
||||
USERMAINT="$TOPLEVEL/aurweb/scripts/usermaint.py"
|
||||
AURBLUP="$TOPLEVEL/aurweb/scripts/aurblup.py"
|
||||
|
|
|
@ -544,11 +544,11 @@ This is a test closure comment.
|
|||
assert email.body == expected
|
||||
|
||||
|
||||
def test_pm_vote_reminders(user: User):
|
||||
def test_vote_reminders(user: User):
|
||||
set_tu([user])
|
||||
|
||||
vote_id = 1
|
||||
notif = notify.TUVoteReminderNotification(vote_id)
|
||||
notif = notify.VoteReminderNotification(vote_id)
|
||||
notif.send()
|
||||
assert Email.count() == 1
|
||||
|
||||
|
@ -571,7 +571,7 @@ def test_notify_main(user: User):
|
|||
set_tu([user])
|
||||
|
||||
vote_id = 1
|
||||
args = ["aurweb-notify", "tu-vote-reminder", str(vote_id)]
|
||||
args = ["aurweb-notify", "vote-reminder", str(vote_id)]
|
||||
with mock.patch("sys.argv", args):
|
||||
notify.main()
|
||||
|
||||
|
|
|
@ -9,9 +9,9 @@ from fastapi.testclient import TestClient
|
|||
|
||||
from aurweb import config, db, filters, time
|
||||
from aurweb.models.account_type import DEVELOPER_ID, PACKAGE_MAINTAINER_ID, AccountType
|
||||
from aurweb.models.tu_vote import TUVote
|
||||
from aurweb.models.tu_voteinfo import TUVoteInfo
|
||||
from aurweb.models.user import User
|
||||
from aurweb.models.vote import Vote
|
||||
from aurweb.models.voteinfo import VoteInfo
|
||||
from aurweb.testing.requests import Request
|
||||
|
||||
DATETIME_REGEX = r"^[0-9]{4}-[0-9]{2}-[0-9]{2} \(.+\)$"
|
||||
|
@ -143,7 +143,7 @@ def proposal(user, pm_user):
|
|||
|
||||
with db.begin():
|
||||
voteinfo = db.create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda=agenda,
|
||||
Quorum=0.0,
|
||||
User=user.Username,
|
||||
|
@ -210,7 +210,7 @@ def test_pm_index(client, pm_user):
|
|||
agenda, start, end = vote
|
||||
vote_records.append(
|
||||
db.create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda=agenda,
|
||||
User=pm_user.Username,
|
||||
Submitted=start,
|
||||
|
@ -224,8 +224,8 @@ def test_pm_index(client, pm_user):
|
|||
# Vote on an ended proposal.
|
||||
vote_record = vote_records[1]
|
||||
vote_record.Yes += 1
|
||||
vote_record.ActiveTUs += 1
|
||||
db.create(TUVote, VoteInfo=vote_record, User=pm_user)
|
||||
vote_record.ActiveUsers += 1
|
||||
db.create(Vote, VoteInfo=vote_record, User=pm_user)
|
||||
|
||||
cookies = {"AURSID": pm_user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
|
@ -347,7 +347,7 @@ def test_pm_index_table_paging(client, pm_user):
|
|||
for i in range(25):
|
||||
# Create 25 current votes.
|
||||
db.create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda=f"Agenda #{i}",
|
||||
User=pm_user.Username,
|
||||
Submitted=(ts - 5),
|
||||
|
@ -359,7 +359,7 @@ def test_pm_index_table_paging(client, pm_user):
|
|||
for i in range(25):
|
||||
# Create 25 past votes.
|
||||
db.create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda=f"Agenda #{25 + i}",
|
||||
User=pm_user.Username,
|
||||
Submitted=(ts - 1000),
|
||||
|
@ -462,7 +462,7 @@ def test_pm_index_sorting(client, pm_user):
|
|||
for i in range(2):
|
||||
# Create 'Agenda #1' and 'Agenda #2'.
|
||||
db.create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda=f"Agenda #{i + 1}",
|
||||
User=pm_user.Username,
|
||||
Submitted=(ts + 5),
|
||||
|
@ -540,21 +540,21 @@ def test_pm_index_last_votes(
|
|||
with db.begin():
|
||||
# Create a proposal which has ended.
|
||||
voteinfo = db.create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda="Test agenda",
|
||||
User=user.Username,
|
||||
Submitted=(ts - 1000),
|
||||
End=(ts - 5),
|
||||
Yes=1,
|
||||
No=1,
|
||||
ActiveTUs=1,
|
||||
ActiveUsers=1,
|
||||
Quorum=0.0,
|
||||
Submitter=pm_user,
|
||||
)
|
||||
|
||||
# Create a vote on it from pm_user.
|
||||
db.create(TUVote, VoteInfo=voteinfo, User=pm_user)
|
||||
db.create(TUVote, VoteInfo=voteinfo, User=pm_user2)
|
||||
db.create(Vote, VoteInfo=voteinfo, User=pm_user)
|
||||
db.create(Vote, VoteInfo=voteinfo, User=pm_user2)
|
||||
|
||||
# Now, check that pm_user got populated in the .last-votes table.
|
||||
cookies = {"AURSID": pm_user.login(Request(), "testPassword")}
|
||||
|
@ -590,7 +590,7 @@ def test_pm_proposal_not_found(client, pm_user):
|
|||
|
||||
|
||||
def test_pm_proposal_unauthorized(
|
||||
client: TestClient, user: User, proposal: Tuple[User, User, TUVoteInfo]
|
||||
client: TestClient, user: User, proposal: Tuple[User, User, VoteInfo]
|
||||
):
|
||||
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||
endpoint = f"/package-maintainer/{proposal[2].ID}"
|
||||
|
@ -607,12 +607,10 @@ def test_pm_proposal_unauthorized(
|
|||
assert response.headers.get("location") == "/package-maintainer"
|
||||
|
||||
|
||||
def test_pm_running_proposal(
|
||||
client: TestClient, proposal: Tuple[User, User, TUVoteInfo]
|
||||
):
|
||||
def test_pm_running_proposal(client: TestClient, proposal: Tuple[User, User, VoteInfo]):
|
||||
pm_user, user, voteinfo = proposal
|
||||
with db.begin():
|
||||
voteinfo.ActiveTUs = 1
|
||||
voteinfo.ActiveUsers = 1
|
||||
|
||||
# Initiate an authenticated GET request to /package-maintainer/{proposal_id}.
|
||||
proposal_id = voteinfo.ID
|
||||
|
@ -683,8 +681,8 @@ def test_pm_running_proposal(
|
|||
|
||||
# Create a vote.
|
||||
with db.begin():
|
||||
db.create(TUVote, VoteInfo=voteinfo, User=pm_user)
|
||||
voteinfo.ActiveTUs += 1
|
||||
db.create(Vote, VoteInfo=voteinfo, User=pm_user)
|
||||
voteinfo.ActiveUsers += 1
|
||||
voteinfo.Yes += 1
|
||||
|
||||
# Make another request now that we've voted.
|
||||
|
@ -772,8 +770,8 @@ def test_pm_proposal_vote(client, proposal):
|
|||
# Check that the proposal record got updated.
|
||||
assert voteinfo.Yes == yes + 1
|
||||
|
||||
# Check that the new TUVote exists.
|
||||
vote = db.query(TUVote, TUVote.VoteInfo == voteinfo, TUVote.User == pm_user).first()
|
||||
# Check that the new PMVote exists.
|
||||
vote = db.query(Vote, Vote.VoteInfo == voteinfo, Vote.User == pm_user).first()
|
||||
assert vote is not None
|
||||
|
||||
root = parse_root(response.text)
|
||||
|
@ -784,7 +782,7 @@ def test_pm_proposal_vote(client, proposal):
|
|||
|
||||
|
||||
def test_pm_proposal_vote_unauthorized(
|
||||
client: TestClient, proposal: Tuple[User, User, TUVoteInfo]
|
||||
client: TestClient, proposal: Tuple[User, User, VoteInfo]
|
||||
):
|
||||
pm_user, user, voteinfo = proposal
|
||||
|
||||
|
@ -846,9 +844,9 @@ def test_pm_proposal_vote_already_voted(client, proposal):
|
|||
pm_user, user, voteinfo = proposal
|
||||
|
||||
with db.begin():
|
||||
db.create(TUVote, VoteInfo=voteinfo, User=pm_user)
|
||||
db.create(Vote, VoteInfo=voteinfo, User=pm_user)
|
||||
voteinfo.Yes += 1
|
||||
voteinfo.ActiveTUs += 1
|
||||
voteinfo.ActiveUsers += 1
|
||||
|
||||
cookies = {"AURSID": pm_user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
|
@ -893,7 +891,7 @@ def test_pm_addvote(client: TestClient, pm_user: User):
|
|||
|
||||
|
||||
def test_pm_addvote_unauthorized(
|
||||
client: TestClient, user: User, proposal: Tuple[User, User, TUVoteInfo]
|
||||
client: TestClient, user: User, proposal: Tuple[User, User, VoteInfo]
|
||||
):
|
||||
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||
with client as request:
|
||||
|
@ -931,7 +929,7 @@ def test_pm_addvote_post(client: TestClient, pm_user: User, user: User):
|
|||
response = request.post("/addvote", data=data)
|
||||
assert response.status_code == int(HTTPStatus.SEE_OTHER)
|
||||
|
||||
voteinfo = db.query(TUVoteInfo, TUVoteInfo.Agenda == "Blah").first()
|
||||
voteinfo = db.query(VoteInfo, VoteInfo.Agenda == "Blah").first()
|
||||
assert voteinfo is not None
|
||||
|
||||
|
||||
|
@ -947,7 +945,7 @@ def test_pm_addvote_post_cant_duplicate_username(
|
|||
response = request.post("/addvote", data=data)
|
||||
assert response.status_code == int(HTTPStatus.SEE_OTHER)
|
||||
|
||||
voteinfo = db.query(TUVoteInfo, TUVoteInfo.Agenda == "Blah").first()
|
||||
voteinfo = db.query(VoteInfo, VoteInfo.Agenda == "Blah").first()
|
||||
assert voteinfo is not None
|
||||
|
||||
with client as request:
|
||||
|
|
|
@ -3,9 +3,9 @@ from sqlalchemy.exc import IntegrityError
|
|||
|
||||
from aurweb import db, time
|
||||
from aurweb.models.account_type import PACKAGE_MAINTAINER_ID
|
||||
from aurweb.models.tu_vote import TUVote
|
||||
from aurweb.models.tu_voteinfo import TUVoteInfo
|
||||
from aurweb.models.user import User
|
||||
from aurweb.models.vote import Vote
|
||||
from aurweb.models.voteinfo import VoteInfo
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
|
@ -28,11 +28,11 @@ def user() -> User:
|
|||
|
||||
|
||||
@pytest.fixture
|
||||
def pm_voteinfo(user: User) -> TUVoteInfo:
|
||||
def voteinfo(user: User) -> VoteInfo:
|
||||
ts = time.utcnow()
|
||||
with db.begin():
|
||||
pm_voteinfo = db.create(
|
||||
TUVoteInfo,
|
||||
voteinfo = db.create(
|
||||
VoteInfo,
|
||||
Agenda="Blah blah.",
|
||||
User=user.Username,
|
||||
Submitted=ts,
|
||||
|
@ -40,24 +40,24 @@ def pm_voteinfo(user: User) -> TUVoteInfo:
|
|||
Quorum=0.5,
|
||||
Submitter=user,
|
||||
)
|
||||
yield pm_voteinfo
|
||||
yield voteinfo
|
||||
|
||||
|
||||
def test_pm_vote_creation(user: User, pm_voteinfo: TUVoteInfo):
|
||||
def test_vote_creation(user: User, voteinfo: VoteInfo):
|
||||
with db.begin():
|
||||
pm_vote = db.create(TUVote, User=user, VoteInfo=pm_voteinfo)
|
||||
vote = db.create(Vote, User=user, VoteInfo=voteinfo)
|
||||
|
||||
assert pm_vote.VoteInfo == pm_voteinfo
|
||||
assert pm_vote.User == user
|
||||
assert pm_vote in user.tu_votes
|
||||
assert pm_vote in pm_voteinfo.tu_votes
|
||||
assert vote.VoteInfo == voteinfo
|
||||
assert vote.User == user
|
||||
assert vote in user.votes
|
||||
assert vote in voteinfo.votes
|
||||
|
||||
|
||||
def test_pm_vote_null_user_raises_exception(pm_voteinfo: TUVoteInfo):
|
||||
def test_vote_null_user_raises_exception(voteinfo: VoteInfo):
|
||||
with pytest.raises(IntegrityError):
|
||||
TUVote(VoteInfo=pm_voteinfo)
|
||||
Vote(VoteInfo=voteinfo)
|
||||
|
||||
|
||||
def test_pm_vote_null_voteinfo_raises_exception(user: User):
|
||||
def test_vote_null_voteinfo_raises_exception(user: User):
|
||||
with pytest.raises(IntegrityError):
|
||||
TUVote(User=user)
|
||||
Vote(User=user)
|
||||
|
|
|
@ -4,8 +4,8 @@ from sqlalchemy.exc import IntegrityError
|
|||
from aurweb import db, time
|
||||
from aurweb.db import create, rollback
|
||||
from aurweb.models.account_type import PACKAGE_MAINTAINER_ID
|
||||
from aurweb.models.tu_voteinfo import TUVoteInfo
|
||||
from aurweb.models.user import User
|
||||
from aurweb.models.voteinfo import VoteInfo
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
|
@ -27,11 +27,11 @@ def user() -> User:
|
|||
yield user
|
||||
|
||||
|
||||
def test_pm_voteinfo_creation(user: User):
|
||||
def test_voteinfo_creation(user: User):
|
||||
ts = time.utcnow()
|
||||
with db.begin():
|
||||
pm_voteinfo = create(
|
||||
TUVoteInfo,
|
||||
voteinfo = create(
|
||||
VoteInfo,
|
||||
Agenda="Blah blah.",
|
||||
User=user.Username,
|
||||
Submitted=ts,
|
||||
|
@ -39,26 +39,26 @@ def test_pm_voteinfo_creation(user: User):
|
|||
Quorum=0.5,
|
||||
Submitter=user,
|
||||
)
|
||||
assert bool(pm_voteinfo.ID)
|
||||
assert pm_voteinfo.Agenda == "Blah blah."
|
||||
assert pm_voteinfo.User == user.Username
|
||||
assert pm_voteinfo.Submitted == ts
|
||||
assert pm_voteinfo.End == ts + 5
|
||||
assert pm_voteinfo.Quorum == 0.5
|
||||
assert pm_voteinfo.Submitter == user
|
||||
assert pm_voteinfo.Yes == 0
|
||||
assert pm_voteinfo.No == 0
|
||||
assert pm_voteinfo.Abstain == 0
|
||||
assert pm_voteinfo.ActiveTUs == 0
|
||||
assert bool(voteinfo.ID)
|
||||
assert voteinfo.Agenda == "Blah blah."
|
||||
assert voteinfo.User == user.Username
|
||||
assert voteinfo.Submitted == ts
|
||||
assert voteinfo.End == ts + 5
|
||||
assert voteinfo.Quorum == 0.5
|
||||
assert voteinfo.Submitter == user
|
||||
assert voteinfo.Yes == 0
|
||||
assert voteinfo.No == 0
|
||||
assert voteinfo.Abstain == 0
|
||||
assert voteinfo.ActiveUsers == 0
|
||||
|
||||
assert pm_voteinfo in user.tu_voteinfo_set
|
||||
assert voteinfo in user.voteinfo_set
|
||||
|
||||
|
||||
def test_pm_voteinfo_is_running(user: User):
|
||||
def test_voteinfo_is_running(user: User):
|
||||
ts = time.utcnow()
|
||||
with db.begin():
|
||||
pm_voteinfo = create(
|
||||
TUVoteInfo,
|
||||
voteinfo = create(
|
||||
VoteInfo,
|
||||
Agenda="Blah blah.",
|
||||
User=user.Username,
|
||||
Submitted=ts,
|
||||
|
@ -66,18 +66,18 @@ def test_pm_voteinfo_is_running(user: User):
|
|||
Quorum=0.5,
|
||||
Submitter=user,
|
||||
)
|
||||
assert pm_voteinfo.is_running() is True
|
||||
assert voteinfo.is_running() is True
|
||||
|
||||
with db.begin():
|
||||
pm_voteinfo.End = ts - 5
|
||||
assert pm_voteinfo.is_running() is False
|
||||
voteinfo.End = ts - 5
|
||||
assert voteinfo.is_running() is False
|
||||
|
||||
|
||||
def test_pm_voteinfo_total_votes(user: User):
|
||||
def test_voteinfo_total_votes(user: User):
|
||||
ts = time.utcnow()
|
||||
with db.begin():
|
||||
pm_voteinfo = create(
|
||||
TUVoteInfo,
|
||||
voteinfo = create(
|
||||
VoteInfo,
|
||||
Agenda="Blah blah.",
|
||||
User=user.Username,
|
||||
Submitted=ts,
|
||||
|
@ -86,19 +86,19 @@ def test_pm_voteinfo_total_votes(user: User):
|
|||
Submitter=user,
|
||||
)
|
||||
|
||||
pm_voteinfo.Yes = 1
|
||||
pm_voteinfo.No = 3
|
||||
pm_voteinfo.Abstain = 5
|
||||
voteinfo.Yes = 1
|
||||
voteinfo.No = 3
|
||||
voteinfo.Abstain = 5
|
||||
|
||||
# total_votes() should be the sum of Yes, No and Abstain: 1 + 3 + 5 = 9.
|
||||
assert pm_voteinfo.total_votes() == 9
|
||||
assert voteinfo.total_votes() == 9
|
||||
|
||||
|
||||
def test_pm_voteinfo_null_submitter_raises(user: User):
|
||||
def test_voteinfo_null_submitter_raises(user: User):
|
||||
with pytest.raises(IntegrityError):
|
||||
with db.begin():
|
||||
create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda="Blah blah.",
|
||||
User=user.Username,
|
||||
Submitted=0,
|
||||
|
@ -108,11 +108,11 @@ def test_pm_voteinfo_null_submitter_raises(user: User):
|
|||
rollback()
|
||||
|
||||
|
||||
def test_pm_voteinfo_null_agenda_raises(user: User):
|
||||
def test_voteinfo_null_agenda_raises(user: User):
|
||||
with pytest.raises(IntegrityError):
|
||||
with db.begin():
|
||||
create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
User=user.Username,
|
||||
Submitted=0,
|
||||
End=0,
|
||||
|
@ -122,11 +122,11 @@ def test_pm_voteinfo_null_agenda_raises(user: User):
|
|||
rollback()
|
||||
|
||||
|
||||
def test_pm_voteinfo_null_user_raises(user: User):
|
||||
def test_voteinfo_null_user_raises(user: User):
|
||||
with pytest.raises(IntegrityError):
|
||||
with db.begin():
|
||||
create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda="Blah blah.",
|
||||
Submitted=0,
|
||||
End=0,
|
||||
|
@ -136,11 +136,11 @@ def test_pm_voteinfo_null_user_raises(user: User):
|
|||
rollback()
|
||||
|
||||
|
||||
def test_pm_voteinfo_null_submitted_raises(user: User):
|
||||
def test_voteinfo_null_submitted_raises(user: User):
|
||||
with pytest.raises(IntegrityError):
|
||||
with db.begin():
|
||||
create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda="Blah blah.",
|
||||
User=user.Username,
|
||||
End=0,
|
||||
|
@ -150,11 +150,11 @@ def test_pm_voteinfo_null_submitted_raises(user: User):
|
|||
rollback()
|
||||
|
||||
|
||||
def test_pm_voteinfo_null_end_raises(user: User):
|
||||
def test_voteinfo_null_end_raises(user: User):
|
||||
with pytest.raises(IntegrityError):
|
||||
with db.begin():
|
||||
create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda="Blah blah.",
|
||||
User=user.Username,
|
||||
Submitted=0,
|
||||
|
@ -164,10 +164,10 @@ def test_pm_voteinfo_null_end_raises(user: User):
|
|||
rollback()
|
||||
|
||||
|
||||
def test_pm_voteinfo_null_quorum_default(user: User):
|
||||
def test_voteinfo_null_quorum_default(user: User):
|
||||
with db.begin():
|
||||
vi = create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda="Blah blah.",
|
||||
User=user.Username,
|
||||
Submitted=0,
|
|
@ -3,17 +3,17 @@ from typing import Tuple
|
|||
import pytest
|
||||
|
||||
from aurweb import config, db, time
|
||||
from aurweb.models import TUVote, TUVoteInfo, User
|
||||
from aurweb.models import User, Vote, VoteInfo
|
||||
from aurweb.models.account_type import PACKAGE_MAINTAINER_ID
|
||||
from aurweb.scripts import tuvotereminder as reminder
|
||||
from aurweb.scripts import votereminder as reminder
|
||||
from aurweb.testing.email import Email
|
||||
|
||||
aur_location = config.get("options", "aur_location")
|
||||
|
||||
|
||||
def create_vote(user: User, voteinfo: TUVoteInfo) -> TUVote:
|
||||
def create_vote(user: User, voteinfo: VoteInfo) -> Vote:
|
||||
with db.begin():
|
||||
vote = db.create(TUVote, User=user, VoteID=voteinfo.ID)
|
||||
vote = db.create(Vote, User=user, VoteID=voteinfo.ID)
|
||||
return vote
|
||||
|
||||
|
||||
|
@ -29,11 +29,11 @@ def create_user(username: str, type_id: int):
|
|||
return user
|
||||
|
||||
|
||||
def email_pieces(voteinfo: TUVoteInfo) -> Tuple[str, str]:
|
||||
def email_pieces(voteinfo: VoteInfo) -> Tuple[str, str]:
|
||||
"""
|
||||
Return a (subject, content) tuple based on voteinfo.ID
|
||||
|
||||
:param voteinfo: TUVoteInfo instance
|
||||
:param voteinfo: VoteInfo instance
|
||||
:return: tuple(subject, content)
|
||||
"""
|
||||
subject = f"Package Maintainer Vote Reminder: Proposal {voteinfo.ID}"
|
||||
|
@ -61,12 +61,12 @@ def user3() -> User:
|
|||
|
||||
|
||||
@pytest.fixture
|
||||
def voteinfo(user: User) -> TUVoteInfo:
|
||||
def voteinfo(user: User) -> VoteInfo:
|
||||
now = time.utcnow()
|
||||
start = config.getint("tuvotereminder", "range_start")
|
||||
start = config.getint("votereminder", "range_start")
|
||||
with db.begin():
|
||||
voteinfo = db.create(
|
||||
TUVoteInfo,
|
||||
VoteInfo,
|
||||
Agenda="Lorem ipsum.",
|
||||
User=user.Username,
|
||||
End=(now + start + 1),
|
||||
|
@ -77,7 +77,7 @@ def voteinfo(user: User) -> TUVoteInfo:
|
|||
yield voteinfo
|
||||
|
||||
|
||||
def test_pm_vote_reminders(user: User, user2: User, user3: User, voteinfo: TUVoteInfo):
|
||||
def test_vote_reminders(user: User, user2: User, user3: User, voteinfo: VoteInfo):
|
||||
reminder.main()
|
||||
assert Email.count() == 3
|
||||
|
||||
|
@ -96,8 +96,8 @@ def test_pm_vote_reminders(user: User, user2: User, user3: User, voteinfo: TUVot
|
|||
assert emails[i].body == content
|
||||
|
||||
|
||||
def test_pm_vote_reminders_only_unvoted(
|
||||
user: User, user2: User, user3: User, voteinfo: TUVoteInfo
|
||||
def test_vote_reminders_only_unvoted(
|
||||
user: User, user2: User, user3: User, voteinfo: VoteInfo
|
||||
):
|
||||
# Vote with user2 and user3; leaving only user to be notified.
|
||||
create_vote(user2, voteinfo)
|
Loading…
Add table
Add a link
Reference in a new issue