Merge: Mock Github API tests
[nit.git] / contrib / nitrpg / src / test_listener.nit
index ee6d13b..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,12 +40,13 @@ 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
+       fun test_game_issue_stats is test do
                var db = gen_test_db
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
@@ -52,21 +54,21 @@ 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 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
        end
 
-       fun test_player_issue_stats do
+       fun test_player_issue_stats is test do
                var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
@@ -75,21 +77,21 @@ 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
        end
 
-       fun test_game_pr_stats do
+       fun test_game_pr_stats is test do
                var db = gen_test_db
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
@@ -97,31 +99,31 @@ class TestListener
                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
        end
 
-       fun test_game_issue_comment_stats do
+       fun test_game_issue_comment_stats is test do
                var db = gen_test_db
                var l = new DummyListener
                l.add_reactor(new StatisticsReactor)
@@ -132,18 +134,18 @@ 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
        end
 
-       fun test_player_pull_reactor do
+       fun test_player_pull_reactor is test do
                var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
@@ -152,23 +154,23 @@ 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
        end
 
-       fun test_player_review_reactor do
+       fun test_player_review_reactor is test do
                var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
@@ -184,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
@@ -199,19 +201,19 @@ 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
        end
 
-       fun test_X_issues_achievements do
+       fun test_X_issues_achievements is test do
                var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
@@ -227,14 +229,14 @@ 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
        end
 
-       fun test_X_pulls_achievements do
+       fun test_X_pulls_achievements is test do
                var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
@@ -250,14 +252,14 @@ 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
        end
 
-       fun test_X_commits_achievements do
+       fun test_X_commits_achievements is test do
                var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
@@ -276,14 +278,14 @@ 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
        end
 
-       fun test_X_comments_achievements do
+       fun test_X_comments_achievements is test do
                var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
@@ -301,14 +303,14 @@ 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
        end
 
-    fun test_issues_achievements do
+    fun test_issues_achievements is test do
                var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
@@ -318,14 +320,14 @@ 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
        end
 
-       fun test_comments_reactor do
+       fun test_comments_reactor is test do
                var db = gen_test_db
                var game = load_game("Morriar/nit", db)
                var l = new DummyListener
@@ -337,19 +339,19 @@ 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