Add a test to make sure that Trusted Users, who already voted on a
proposal, do not receive any reminders.

Signed-off-by: Lukas Fleischer <[email protected]>
---
 test/setup.sh                |  3 +++
 test/t2200-tuvotereminder.sh | 28 ++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/test/setup.sh b/test/setup.sh
index cd42479..dc9cff2 100644
--- a/test/setup.sh
+++ b/test/setup.sh
@@ -115,6 +115,9 @@ echo "INSERT INTO Users (ID, UserName, Passwd, Email, 
AccountTypeID) VALUES (3,
 echo "INSERT INTO Users (ID, UserName, Passwd, Email, AccountTypeID) VALUES 
(4, 'user2', '!', 'user2@localhost', 1);" | sqlite3 aur.db
 echo "INSERT INTO Users (ID, UserName, Passwd, Email, AccountTypeID) VALUES 
(5, 'user3', '!', 'user3@localhost', 1);" | sqlite3 aur.db
 echo "INSERT INTO Users (ID, UserName, Passwd, Email, AccountTypeID) VALUES 
(6, 'user4', '!', 'user4@localhost', 1);" | sqlite3 aur.db
+echo "INSERT INTO Users (ID, UserName, Passwd, Email, AccountTypeID) VALUES 
(7, 'tu2', '!', 'tu2@localhost', 2);" | sqlite3 aur.db
+echo "INSERT INTO Users (ID, UserName, Passwd, Email, AccountTypeID) VALUES 
(8, 'tu3', '!', 'tu3@localhost', 2);" | sqlite3 aur.db
+echo "INSERT INTO Users (ID, UserName, Passwd, Email, AccountTypeID) VALUES 
(9, 'tu4', '!', 'tu4@localhost', 2);" | sqlite3 aur.db
 
 echo "INSERT INTO SSHPubKeys (UserID, Fingerprint, PubKey) VALUES (1, 
'$AUTH_FINGERPRINT_USER', '$AUTH_KEYTYPE_USER $AUTH_KEYTEXT_USER');" | sqlite3 
aur.db
 echo "INSERT INTO SSHPubKeys (UserID, Fingerprint, PubKey) VALUES (2, 
'$AUTH_FINGERPRINT_TU', '$AUTH_KEYTYPE_TU $AUTH_KEYTEXT_TU');" | sqlite3 aur.db
diff --git a/test/t2200-tuvotereminder.sh b/test/t2200-tuvotereminder.sh
index 8477c92..c82ce87 100755
--- a/test/t2200-tuvotereminder.sh
+++ b/test/t2200-tuvotereminder.sh
@@ -22,4 +22,32 @@ test_expect_success 'Test Trusted User vote reminders.' '
        test_must_fail grep -q "Proposal 4" sendmail.out
 '
 
+test_expect_success 'Check that only TUs who did not vote receive reminders.' '
+       cat <<-EOD | sqlite3 aur.db &&
+       INSERT INTO TU_Votes (VoteID, UserID) VALUES (1, 2);
+       INSERT INTO TU_Votes (VoteID, UserID) VALUES (2, 2);
+       INSERT INTO TU_Votes (VoteID, UserID) VALUES (3, 2);
+       INSERT INTO TU_Votes (VoteID, UserID) VALUES (4, 2);
+       INSERT INTO TU_Votes (VoteID, UserID) VALUES (1, 7);
+       INSERT INTO TU_Votes (VoteID, UserID) VALUES (3, 7);
+       INSERT INTO TU_Votes (VoteID, UserID) VALUES (2, 8);
+       INSERT INTO TU_Votes (VoteID, UserID) VALUES (4, 8);
+       INSERT INTO TU_Votes (VoteID, UserID) VALUES (1, 9);
+       EOD
+       >sendmail.out &&
+       "$TUVOTEREMINDER" &&
+       cat <<-EOD >expected &&
+       Subject: TU Vote Reminder: Proposal 2
+       To: tu2@localhost
+       Subject: TU Vote Reminder: Proposal 2
+       To: tu4@localhost
+       Subject: TU Vote Reminder: Proposal 3
+       To: tu3@localhost
+       Subject: TU Vote Reminder: Proposal 3
+       To: tu4@localhost
+       EOD
+       grep "^\(Subject\|To\)" sendmail.out >sendmail.parts &&
+       test_cmp sendmail.parts expected
+'
+
 test_done
-- 
2.10.0

Reply via email to