From 21a3a42131c20f707c1dcdc25f1efa6608678602 Mon Sep 17 00:00:00 2001 From: y5nw <37980625+y5nw@users.noreply.github.com> Date: Sun, 21 Jan 2024 19:01:13 +0100 Subject: [PATCH] Also test on_(player_)receive callbacks --- api.spec.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/api.spec.lua b/api.spec.lua index f286cc8..64ad175 100644 --- a/api.spec.lua +++ b/api.spec.lua @@ -8,11 +8,23 @@ mail.register_recipient_handler(function(_, name) end end) +local received_count = {} +mail.register_on_player_receive(function(player) + received_count[player] = (received_count[player] or 0) + 1 +end) + +local sent_count = 0 +mail.register_on_receive(function() + sent_count = sent_count+1 +end) + local function assert_inbox_count(player_name, count) local entry = mail.get_storage_entry(player_name) assert(entry, player_name .. " has no mail entry") local actual_count = #entry.inbox assert(actual_count == count, ("incorrect mail count: %d expected, got %d"):format(count, actual_count)) + local player_received = received_count[player_name] + assert(player_received == count, ("incorrect receive count: %d expected, got %d"):format(count, player_received)) end mtt.register("send mail", function(callback) @@ -22,6 +34,7 @@ mtt.register("send mail", function(callback) assert(not err) assert_inbox_count("player2", 1) assert_inbox_count("player1", 0) + assert(sent_count == 1) -- send a second mail to the list and also the sender success, err = mail.send({from = "player1", to = "list/test, alias/player1", subject = "something", body = "blah"}) @@ -29,6 +42,7 @@ mtt.register("send mail", function(callback) assert(not err) assert_inbox_count("player2", 2) assert_inbox_count("player1", 1) + assert(sent_count == 2) -- send a mail to list/reject - the mail should be rejected success, err = mail.send({from = "player1", to = "list/reject", subject = "something", body = "NO"}) @@ -36,6 +50,7 @@ mtt.register("send mail", function(callback) assert(type(err) == "string") assert_inbox_count("player2", 2) assert_inbox_count("player1", 1) + assert(sent_count == 2) callback() end)