Merge: Mock Github API tests
[nit.git] / contrib / nitrpg / src / test_listener.nit
index edbfe37..d70f3aa 100644 (file)
@@ -15,7 +15,7 @@
 # limitations under the License.
 
 # Test module for `listener.nit`
-module test_listener is test_suite
+module test_listener is test
 
 import test_helper
 import reactors
@@ -24,6 +24,7 @@ import events_generator
 
 private class DummyListener
        super NitrpgTestHelper
+       test
 
        var reactors = new Array[GameReactor]
 
@@ -39,36 +40,36 @@ end
 
 class TestListener
        super NitrpgTestHelper
+       test
 
        var generator = new EventsGenerator(api)
 
        var repo: Repo is lazy do return load_repo("Morriar/nit")
 
-       fun test_game_issue_stats do
-               var db = load_db("test_game_issue_stats")
+       fun test_game_issue_stats is test do
+               var db = gen_test_db
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
 
                var issue = api.load_issue(repo, 322)
                assert issue != null
 
-               l.apply_event(generator.issue_open(issue), db)
+               l.apply_event(generator.issue_open(repo, issue), db)
                var game = load_game("Morriar/nit", db)
                assert game.stats.overall["issues"] == 1
                assert game.stats.overall["issues_open"] == 1
-               l.apply_event(generator.issue_close(issue), db)
+               l.apply_event(generator.issue_close(repo, issue), db)
                game = load_game("Morriar/nit", db)
                assert game.stats.overall["issues"] == 1
                assert game.stats.overall["issues_open"] == 0
-               l.apply_event(generator.issue_reopen(issue), db)
+               l.apply_event(generator.issue_reopen(repo, issue), db)
                game = load_game("Morriar/nit", db)
                assert game.stats.overall["issues"] == 1
                assert game.stats.overall["issues_open"] == 1
-               db.drop
        end
 
-       fun test_player_issue_stats do
-               var db = load_db("test_player_issue_stats")
+       fun test_player_issue_stats is test do
+               var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
@@ -76,56 +77,54 @@ class TestListener
                var issue = api.load_issue(repo, 322)
                assert issue != null
 
-               l.apply_event(generator.issue_open(issue), db)
+               l.apply_event(generator.issue_open(repo, issue), db)
                var player = new Player(game, "Morriar")
                assert player.stats.overall["issues"] == 1
                assert player.stats.overall["issues_open"] == 1
-               l.apply_event(generator.issue_close(issue), db)
+               l.apply_event(generator.issue_close(repo, issue), db)
                player = new Player(game, "Morriar")
                assert player.stats.overall["issues"] == 1
                assert player.stats.overall["issues_open"] == 0
-               l.apply_event(generator.issue_reopen(issue), db)
+               l.apply_event(generator.issue_reopen(repo, issue), db)
                player = new Player(game, "Morriar")
                assert player.stats.overall["issues"] == 1
                assert player.stats.overall["issues_open"] == 1
-               db.drop
        end
 
-       fun test_game_pr_stats do
-               var db = load_db("test_game_pr_stats")
+       fun test_game_pr_stats is test do
+               var db = gen_test_db
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
 
                var pr = api.load_pull(repo, 275)
                assert pr != null
 
-               l.apply_event(generator.pull_open(pr), db)
+               l.apply_event(generator.pull_open(repo, pr), db)
                var game = load_game("Morriar/nit", db)
                assert game.stats.overall["pulls"] == 1
                assert game.stats.overall["pulls_open"] == 1
                assert game.stats.overall["commits"] == 0
                pr.merged = false
-               l.apply_event(generator.pull_close(pr), db)
+               l.apply_event(generator.pull_close(repo, pr), db)
                game = load_game("Morriar/nit", db)
                assert game.stats.overall["pulls"] == 1
                assert game.stats.overall["pulls_open"] == 0
                assert game.stats.overall["commits"] == 0
-               l.apply_event(generator.pull_reopen(pr), db)
+               l.apply_event(generator.pull_reopen(repo, pr), db)
                game = load_game("Morriar/nit", db)
                assert game.stats.overall["pulls"] == 1
                assert game.stats.overall["pulls_open"] == 1
                assert game.stats.overall["commits"] == 0
                pr.merged = true
-               l.apply_event(generator.pull_close(pr), db)
+               l.apply_event(generator.pull_close(repo, pr), db)
                game = load_game("Morriar/nit", db)
                assert game.stats.overall["pulls"] == 1
                assert game.stats.overall["pulls_open"] == 0
                assert game.stats.overall["commits"] == 2
-               db.drop
        end
 
-       fun test_game_issue_comment_stats do
-               var db = load_db("test_game_issue_comment_stats")
+       fun test_game_issue_comment_stats is test do
+               var db = gen_test_db
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
 
@@ -135,20 +134,19 @@ class TestListener
                assert comment != null
 
                comment.body = "foo bar"
-               l.apply_event(generator.issue_comment_event(issue, comment), db)
+               l.apply_event(generator.issue_comment_event(repo, issue, comment), db)
                var game = load_game("Morriar/nit", db)
                assert game.stats.overall["comments"] == 1
                assert game.stats.overall["reviews"] == 0
                comment.body = "foo +1 bar"
-               l.apply_event(generator.issue_comment_event(issue, comment), db)
+               l.apply_event(generator.issue_comment_event(repo, issue, comment), db)
                game = load_game("Morriar/nit", db)
                assert game.stats.overall["comments"] == 2
                assert game.stats.overall["reviews"] == 1
-               db.drop
        end
 
-       fun test_player_pull_reactor do
-               var db = load_db("test_player_pull_reactor")
+       fun test_player_pull_reactor is test do
+               var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
                l.add_reactor(new PlayerReactor)
@@ -156,25 +154,24 @@ class TestListener
                var pull = api.load_pull(repo, 275)
                assert pull != null
 
-               l.apply_event(generator.pull_open(pull), db)
+               l.apply_event(generator.pull_open(repo, pull), db)
                var player = new Player(game, "itch76")
                assert player.stats.overall["nitcoins"] == 10
                pull.merged = false
-               l.apply_event(generator.pull_close(pull), db)
+               l.apply_event(generator.pull_close(repo, pull), db)
                player = new Player(game, "itch76")
                assert player.stats.overall["nitcoins"] == 0
-               l.apply_event(generator.pull_reopen(pull), db)
+               l.apply_event(generator.pull_reopen(repo, pull), db)
                player = new Player(game, "itch76")
                assert player.stats.overall["nitcoins"] == 10
                pull.merged = true
-               l.apply_event(generator.pull_close(pull), db)
+               l.apply_event(generator.pull_close(repo, pull), db)
                player = new Player(game, "itch76")
                assert player.stats.overall["nitcoins"] == 12
-               db.drop
        end
 
-       fun test_player_review_reactor do
-               var db = load_db("test_player_review_reactor")
+       fun test_player_review_reactor is test do
+               var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
                l.add_reactor(new PlayerReactor)
@@ -189,14 +186,14 @@ class TestListener
                # no review in opened issue
                pull.state = "open"
                comment.body = "foo bar"
-               l.apply_event(generator.issue_comment_event(pull, comment), db)
+               l.apply_event(generator.issue_comment_event(repo, pull, comment), db)
                var player = new Player(game, "Morriar")
                assert player.stats.overall["nitcoins"] == 0
 
                # review in opened issue
                pull.state = "open"
                comment.body = "foo +1 bar"
-               l.apply_event(generator.issue_comment_event(pull, comment), db)
+               l.apply_event(generator.issue_comment_event(repo, pull, comment), db)
                player = new Player(game, "Morriar")
                print player.stats.overall["nitcoins"]
                assert player.stats.overall["nitcoins"] == 2
@@ -204,21 +201,20 @@ class TestListener
                # review in closed issue
                pull.state = "closed"
                comment.body = "foo +1 bar"
-               l.apply_event(generator.issue_comment_event(pull, comment), db)
+               l.apply_event(generator.issue_comment_event(repo, pull, comment), db)
                player = new Player(game, "Morriar")
                assert player.stats.overall["nitcoins"] == 2
 
                # review in reopened issue
                pull.state = "open"
                comment.body = "foo +1 bar"
-               l.apply_event(generator.issue_comment_event(pull, comment), db)
+               l.apply_event(generator.issue_comment_event(repo, pull, comment), db)
                player = new Player(game, "Morriar")
                assert player.stats.overall["nitcoins"] == 4
-               db.drop
        end
 
-       fun test_X_issues_achievements do
-               var db = load_db("test_X_issues_achievements")
+       fun test_X_issues_achievements is test do
+               var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
@@ -233,16 +229,15 @@ class TestListener
                        var player = new Player(game, "Morriar")
                        player.stats["issues"] = i
                        player.save
-                       l.apply_event(generator.issue_open(issue), db)
+                       l.apply_event(generator.issue_open(repo, issue), db)
                        assert player.load_achievements.has_key(id)
                end
                var player = new Player(game, "Morriar")
                assert player.stats.overall["nitcoins"] == 1110
-               db.drop
        end
 
-       fun test_X_pulls_achievements do
-               var db = load_db("test_X_pulls_achievements")
+       fun test_X_pulls_achievements is test do
+               var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
@@ -257,16 +252,15 @@ class TestListener
                        var player = new Player(game, "itch76")
                        player.stats["pulls"] = i
                        player.save
-                       l.apply_event(generator.pull_open(pull), db)
+                       l.apply_event(generator.pull_open(repo, pull), db)
                        assert player.load_achievements.has_key(id)
                end
                var player = new Player(game, "itch76")
                assert player.stats.overall["nitcoins"] == 1110
-               db.drop
        end
 
-       fun test_X_commits_achievements do
-               var db = load_db("test_X_commits_achievements")
+       fun test_X_commits_achievements is test do
+               var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
@@ -284,16 +278,15 @@ class TestListener
                        var player = new Player(game, "itch76")
                        player.stats["commits"] = i
                        player.save
-                       l.apply_event(generator.pull_close(pull), db)
+                       l.apply_event(generator.pull_close(repo, pull), db)
                        assert player.load_achievements.has_key(id)
                end
                var player = new Player(game, "itch76")
                assert player.stats.overall["nitcoins"] == 11110
-               db.drop
        end
 
-       fun test_X_comments_achievements do
-               var db = load_db("test_X_comments_achievements")
+       fun test_X_comments_achievements is test do
+               var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
@@ -310,16 +303,15 @@ class TestListener
                        var player = new Player(game, "Morriar")
                        player.stats["comments"] = i
                        player.save
-                       l.apply_event(generator.issue_comment_event(pull, comment), db)
+                       l.apply_event(generator.issue_comment_event(repo, pull, comment), db)
                        assert player.load_achievements.has_key(id)
                end
                var player = new Player(game, "Morriar")
                assert player.stats.overall["nitcoins"] == 1110
-               db.drop
        end
 
-    fun test_issues_achievements do
-               var db = load_db("test_issues_achievements")
+    fun test_issues_achievements is test do
+               var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
                l.add_reactor(new IssueAboutNitdoc, new IssueAboutFFI)
@@ -328,16 +320,15 @@ class TestListener
                assert issue != null
 
                issue.title = "nitdoc ffi"
-               l.apply_event(generator.issue_open(issue), db)
+               l.apply_event(generator.issue_open(repo, issue), db)
                var player = new Player(game, "Morriar")
                assert player.load_achievements.has_key("issue_about_nitdoc")
                assert player.load_achievements.has_key("issue_about_ffi")
                assert player.stats.overall["nitcoins"] == 20
-               db.drop
        end
 
-       fun test_comments_reactor do
-               var db = load_db("test_comments_reactor")
+       fun test_comments_reactor is test do
+               var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
                l.add_reactor(new PlayerPingGod, new PlayerFirstReview, new PlayerSaysNitcoin)
@@ -348,22 +339,21 @@ class TestListener
                assert comment != null
 
                comment.body = "@{game.repo.owner.login}"
-               l.apply_event(generator.issue_comment_event(pull, comment), db)
+               l.apply_event(generator.issue_comment_event(repo, pull, comment), db)
                var player = new Player(game, "Morriar")
                assert player.load_achievements.has_key("player_ping_god")
                assert player.stats.overall["nitcoins"] == 50
 
                comment.body = "+1"
-               l.apply_event(generator.issue_comment_event(pull, comment), db)
+               l.apply_event(generator.issue_comment_event(repo, pull, comment), db)
                player = new Player(game, "Morriar")
                assert player.load_achievements.has_key("player_first_review")
                assert player.stats.overall["nitcoins"] == 60
 
                comment.body = "Nitcoins"
-               l.apply_event(generator.issue_comment_event(pull, comment), db)
+               l.apply_event(generator.issue_comment_event(repo, pull, comment), db)
                player = new Player(game, "Morriar")
                assert player.load_achievements.has_key("player_says_nitcoin")
                assert player.stats.overall["nitcoins"] == 70
-               db.drop
        end
 end