diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/welfare_spec.lua | 58 | ||||
-rw-r--r-- | spec/welfare_spec.lua~ | 19 |
2 files changed, 77 insertions, 0 deletions
diff --git a/spec/welfare_spec.lua b/spec/welfare_spec.lua new file mode 100644 index 0000000..d41cf71 --- /dev/null +++ b/spec/welfare_spec.lua @@ -0,0 +1,58 @@ +require("mineunit") + +mineunit("core") + +mineunit("common/chatcommands") +mineunit("server") +mineunit("player") + +sourcefile("init") + +mineunit:mods_loaded() + +minetest.safe_file_write = function () + +end + +describe("Welfare payout", function() + it("sets up balance correctly", function() + local newplayer = Player("newplayer") + mineunit:execute_on_joinplayer(newplayer) + atm.ensure_init("newplayer") + assert.equals(atm.balance["newplayer"], atm.startbalance) + end) + it("pays out welfare to players", function() + atm.ensure_init("newplayer") + local oldbalance = atm.balance["newplayer"] + atm.welfare_payout() + assert.equals(atm.balance["newplayer"], oldbalance + atm.welfare_amount) + assert.equals(atm.welfare["newplayer"], atm.welfare_cap - atm.welfare_amount) + end) + it("does not payout welfare if welfare cap is exhausted", function() + atm.ensure_init("newplayer") + local oldbalance = atm.balance["newplayer"] + atm.welfare["newplayer"] = atm.welfare_amount - 1 + local oldwelfare = atm.welfare['newplayer'] + atm.welfare_payout() + assert.equals(atm.balance["newplayer"], oldbalance) + assert.equals(atm.welfare["newplayer"], oldwelfare) + end) + it("allows moderators to put players on welfare", function() + local moderator = Player("admin", {kick = true, ban = true}) + moderator:send_chat_message("/give_welfare newplayer 555") + assert.equals(atm.welfare["newplayer"], 555) + moderator:send_chat_message("/give_welfare newplayer bbbb") + assert.equals(atm.welfare["newplayer"], 555) + end) + it("bans normal players from giving themselves welfare", function() + local player = Player("foobar") + mineunit:execute_on_joinplayer(player) + atm.welfare_payout() + local oldwelfare = atm.welfare['foobar'] + player:send_chat_message("/give_welfare foobar 555") + assert.equals(atm.welfare["foobar"], oldwelfare) + end) + +end +) + diff --git a/spec/welfare_spec.lua~ b/spec/welfare_spec.lua~ new file mode 100644 index 0000000..dd04618 --- /dev/null +++ b/spec/welfare_spec.lua~ @@ -0,0 +1,19 @@ +require("mineunit") + +mineunit("core") + +mineunit("common/chatcommands") +mineunit("server") +mineunit("player") + +sourcefile("init") + +mineunit:mods_loaded() + + +describe("Welfare payout", function() + it("sets up balance correctly", function() + local newplayer = Player("newplayer") + mineunit:execute_on_joinplayer(newplayer) + assert.equals(atm.balance["newplayer"], atm. + |