[aur-dev] [PATCH 2/2] t1200: Add tests for vote/unvote

Lukas Fleischer lfleischer at archlinux.org
Mon Jan 23 08:25:47 UTC 2017


Signed-off-by: Lukas Fleischer <lfleischer at archlinux.org>
---
 test/t1200-git-serve.sh | 66 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/test/t1200-git-serve.sh b/test/t1200-git-serve.sh
index d422c48..f986b62 100755
--- a/test/t1200-git-serve.sh
+++ b/test/t1200-git-serve.sh
@@ -414,4 +414,70 @@ test_expect_success "Flag using a comment which is too short." '
 	test_cmp expected actual
 '
 
+test_expect_success "Vote for a package base." '
+	SSH_ORIGINAL_COMMAND="vote foobar" AUR_USER=user AUR_PRIVILEGED=0 \
+	"$GIT_SERVE" 2>&1 &&
+	cat >expected <<-EOF &&
+	3|1
+	EOF
+	echo "SELECT PackageBaseID, UsersID FROM PackageVotes;" | \
+	sqlite3 aur.db >actual &&
+	test_cmp expected actual &&
+	cat >expected <<-EOF &&
+	1
+	EOF
+	echo "SELECT NumVotes FROM PackageBases WHERE Name = \"foobar\";" | \
+	sqlite3 aur.db >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success "Vote for a package base twice." '
+	SSH_ORIGINAL_COMMAND="vote foobar" AUR_USER=user AUR_PRIVILEGED=0 \
+	test_must_fail "$GIT_SERVE" 2>&1 &&
+	cat >expected <<-EOF &&
+	3|1
+	EOF
+	echo "SELECT PackageBaseID, UsersID FROM PackageVotes;" | \
+	sqlite3 aur.db >actual &&
+	test_cmp expected actual &&
+	cat >expected <<-EOF &&
+	1
+	EOF
+	echo "SELECT NumVotes FROM PackageBases WHERE Name = \"foobar\";" | \
+	sqlite3 aur.db >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success "Remove vote from a package base." '
+	SSH_ORIGINAL_COMMAND="unvote foobar" AUR_USER=user AUR_PRIVILEGED=0 \
+	"$GIT_SERVE" 2>&1 &&
+	cat >expected <<-EOF &&
+	EOF
+	echo "SELECT PackageBaseID, UsersID FROM PackageVotes;" | \
+	sqlite3 aur.db >actual &&
+	test_cmp expected actual &&
+	cat >expected <<-EOF &&
+	0
+	EOF
+	echo "SELECT NumVotes FROM PackageBases WHERE Name = \"foobar\";" | \
+	sqlite3 aur.db >actual &&
+	test_cmp expected actual
+'
+
+test_expect_success "Try to remove the vote again." '
+	SSH_ORIGINAL_COMMAND="unvote foobar" AUR_USER=user AUR_PRIVILEGED=0 \
+	test_must_fail "$GIT_SERVE" 2>&1 &&
+	cat >expected <<-EOF &&
+	EOF
+	echo "SELECT PackageBaseID, UsersID FROM PackageVotes;" | \
+	sqlite3 aur.db >actual &&
+	test_cmp expected actual &&
+	cat >expected <<-EOF &&
+	0
+	EOF
+	echo "SELECT NumVotes FROM PackageBases WHERE Name = \"foobar\";" | \
+	sqlite3 aur.db >actual &&
+	test_cmp expected actual
+'
+
 test_done
-- 
2.11.0


More information about the aur-dev mailing list