util.roles: Add some more missing test cases
authorMatthew Wild <mwild1@gmail.com>
Sat, 08 Oct 2022 20:33:01 +0100
changeset 12757 2eb02b32bb4c
parent 12756 9ef8f248635c
child 12758 a92ca737d05f
util.roles: Add some more missing test cases Found via mutation testing.
spec/util_roles_spec.lua
--- a/spec/util_roles_spec.lua	Fri Oct 07 18:04:30 2022 +0100
+++ b/spec/util_roles_spec.lua	Sat Oct 08 20:33:01 2022 +0100
@@ -11,6 +11,24 @@
 		assert.is_truthy(roles.is_role(test_role));
 	end);
 	describe("role object", function ()
+		it("can be initialized with permissions", function ()
+			local test_role_2 = roles.new({
+				permissions = {
+					perm1 = true;
+					perm2 = false;
+				};
+			});
+			assert.truthy(test_role_2:may("perm1"));
+			assert.falsy(test_role_2:may("perm2"));
+		end);
+		it("has a sensible tostring", function ()
+			local test_role_2 = roles.new({
+				id = "test-role-2";
+				name = "Test Role 2";
+			});
+			assert.truthy(tostring(test_role_2):find("test-role-2", 1, true));
+			assert.truthy(tostring(test_role_2):find("Test Role 2", 1, true));
+		end);
 		it("is restrictive by default", function ()
 			assert.falsy(test_role:may("my-permission"));
 		end);