diff --git a/MainProject.Tests/Config/invalid-permissions.json b/MainProject.Tests/Config/invalid-permissions.json
new file mode 100644
index 0000000..6ba8ce1
--- /dev/null
+++ b/MainProject.Tests/Config/invalid-permissions.json
@@ -0,0 +1,31 @@
+{
+ "PermissionInfos": [
+ {
+ "System": "base",
+ "RolePermissionModuleOperations": [
+ {
+ "Module": "roles",
+ "Operations": [
+ { "Operation": "create", "Roles": [] },
+ { "Operation": "read", "Roles": [] },
+ { "Operation": "update", "Roles": [] },
+ { "Operation": "delete", "Roles": [] },
+ { "Operation": "list", "Roles": [] },
+ { "Operation": "use", "Roles": [] }
+ ]
+ },
+ {
+ "Module": "users",
+ "Operations": [
+ { "Operation": "create", "Roles": [] },
+ { "Operation": "read", "Roles": [] },
+ { "Operation": "update", "Roles": [] },
+ { "Operation": "delete", "Roles": [] },
+ { "Operation": "list", "Roles": [] },
+ { "Operation": "use", "Roles": [] }
+ ]
+ }
+ ]
+
+ ]
+}
\ No newline at end of file
diff --git a/MainProject.Tests/MainProject.Tests.csproj b/MainProject.Tests/MainProject.Tests.csproj
index a899faa..45f0343 100644
--- a/MainProject.Tests/MainProject.Tests.csproj
+++ b/MainProject.Tests/MainProject.Tests.csproj
@@ -29,6 +29,9 @@
-
+
+
+
+
diff --git a/MainProject.Tests/Utils/FileUtils_Tests.cs b/MainProject.Tests/Utils/FileUtils_Tests.cs
index 18001a5..cef4c33 100644
--- a/MainProject.Tests/Utils/FileUtils_Tests.cs
+++ b/MainProject.Tests/Utils/FileUtils_Tests.cs
@@ -43,6 +43,37 @@ public class FileUtils_Tests
}
}
+ [TestMethod]
+ public void ConvertFileToObject()
+ {
+ try
+ {
+ PermissionsFile? permissionsFile = FileUtils.ConvertFileToObject(System.AppDomain.CurrentDomain.BaseDirectory + "Config/permissions.json");
+ Assert.IsTrue(permissionsFile != null);
+ }
+ catch (Exception exception)
+ {
+ Assert.Fail($"An exception was thrown: {exception}");
+ }
+ }
+
+ [TestMethod]
+ public void ConvertFileToObject_InvalidOperationException()
+ {
+ try
+ {
+ PermissionsFile? permissionsFile = FileUtils.ConvertFileToObject(System.AppDomain.CurrentDomain.BaseDirectory + "Config/invalid-permissions.json");
+ Assert.Fail($"Expected exception instead of response: {permissionsFile}");
+ }
+ catch (InvalidOperationException invalidOperationException)
+ {
+ Assert.IsInstanceOfType(invalidOperationException, typeof(InvalidOperationException));
+ }
+ catch (Exception exception)
+ {
+ Assert.Fail($"An exception was thrown: {exception}");
+ }
+ }
}