diff --git a/CodeToXMI.sln.DotSettings.user b/CodeToXMI.sln.DotSettings.user
index e63276796f74fd719f9bdb12a5dd92323822f04c..1dd7c1da3d3a54c42c9c53b4a5e066bffccdf3d8 100644
--- a/CodeToXMI.sln.DotSettings.user
+++ b/CodeToXMI.sln.DotSettings.user
@@ -1,7 +1,7 @@
 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
 	<s:String x:Key="/Default/Environment/Hierarchy/Build/BuildTool/CustomBuildToolPath/@EntryValue">/usr/local/share/dotnet/sdk/7.0.404/MSBuild.dll</s:String>
 	<s:Int64 x:Key="/Default/Environment/Hierarchy/Build/BuildTool/MsbuildVersion/@EntryValue">1114112</s:Int64>
-	<s:String x:Key="/Default/Environment/Highlighting/HighlightingSourceSnapshotLocation/@EntryValue">/Users/jakubkonvicka/Library/Caches/JetBrains/Rider2023.3/resharper-host/temp/Rider/vAny/CoverageData/_CodeToXMI.401400098/Snapshot/snapshot.utdcvr</s:String>
+	
 	<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=1172169d_002D8cd5_002D4c97_002D94b5_002D78b35c14dd26/@EntryIndexedValue">&lt;SessionState ContinuousTestingMode="0" Name="BuildActivityDiagramWithDecisionsAndActions #2" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"&gt;
   &lt;TestAncestor&gt;
     &lt;TestId&gt;NUnit3x::0F37435B-F6C5-40D0-8250-192C843D1465::net7.0::UnitTest.ActivityDiagramTests.BuildActivityDiagramWithDecisionsAndActions&lt;/TestId&gt;
@@ -16,6 +16,11 @@
   &lt;TestAncestor&gt;
     &lt;TestId&gt;NUnit3x::0F37435B-F6C5-40D0-8250-192C843D1465::net7.0::UnitTest.ActivityDiagramTests.BuildActivityDiagramWithDecisionsAndActions&lt;/TestId&gt;
   &lt;/TestAncestor&gt;
+&lt;/SessionState&gt;</s:String>
+	<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=787f49f1_002D5ae8_002D4593_002Da806_002Dbdff78c88abc/@EntryIndexedValue">&lt;SessionState ContinuousTestingMode="0" Name="AuthenticationTest" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"&gt;
+  &lt;TestAncestor&gt;
+    &lt;TestId&gt;NUnit3x::0F37435B-F6C5-40D0-8250-192C843D1465::net7.0::UnitTest.WebApiTests.AuthenticationTest&lt;/TestId&gt;
+  &lt;/TestAncestor&gt;
 &lt;/SessionState&gt;</s:String>
 	<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=89ec26b2_002Dc3eb_002D4d79_002D97c5_002D0b5722ace381/@EntryIndexedValue">&lt;SessionState ContinuousTestingMode="0" Name="BuildActivityDiagramWithDecisionsAndActions #3" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"&gt;
   &lt;TestAncestor&gt;
@@ -28,13 +33,14 @@
     &lt;TestId&gt;NUnit3x::0F37435B-F6C5-40D0-8250-192C843D1465::net7.0::UnitTest.ActivityDiagramTests.BuildActivityDiagramWithDecisionsAndActions&lt;/TestId&gt;
   &lt;/TestAncestor&gt;
 &lt;/SessionState&gt;</s:String>
-	<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=d5334459_002D70ab_002D4733_002D874a_002D3629f29a0297/@EntryIndexedValue">&lt;SessionState ContinuousTestingMode="0" IsActive="True" Name="BuildActivityDiagramWithDecisionsAndActions #5" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"&gt;
+	<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=d5334459_002D70ab_002D4733_002D874a_002D3629f29a0297/@EntryIndexedValue">&lt;SessionState ContinuousTestingMode="0" Name="BuildActivityDiagramWithDecisionsAndActions #5" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"&gt;
   &lt;TestAncestor&gt;
     &lt;TestId&gt;NUnit3x::0F37435B-F6C5-40D0-8250-192C843D1465::net7.0::UnitTest.ActivityDiagramTests&lt;/TestId&gt;
     &lt;TestId&gt;NUnit3x::0F37435B-F6C5-40D0-8250-192C843D1465::net7.0::UnitTest.ClassDiagramTests&lt;/TestId&gt;
+    &lt;TestId&gt;NUnit3x::0F37435B-F6C5-40D0-8250-192C843D1465::net7.0::UnitTest.WebApiTests&lt;/TestId&gt;
   &lt;/TestAncestor&gt;
 &lt;/SessionState&gt;</s:String>
-	<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=ea6b864b_002D2fca_002D4192_002D9701_002D8b0ec6a1f0b5/@EntryIndexedValue">&lt;SessionState ContinuousTestingMode="0" Name="ClassDiagramTests" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"&gt;
+	<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=ea6b864b_002D2fca_002D4192_002D9701_002D8b0ec6a1f0b5/@EntryIndexedValue">&lt;SessionState ContinuousTestingMode="0" IsActive="True" Name="ClassDiagramTests" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session"&gt;
   &lt;TestAncestor&gt;
     &lt;TestId&gt;NUnit3x::0F37435B-F6C5-40D0-8250-192C843D1465::net7.0::UnitTest.ClassDiagramTests&lt;/TestId&gt;
     &lt;TestId&gt;NUnit3x::0F37435B-F6C5-40D0-8250-192C843D1465::net7.0::UnitTest.ActivityDiagramTests.BuildEmptyActivityDiagram&lt;/TestId&gt;
diff --git a/Database/DatabaseContext.cs b/Database/DatabaseContext.cs
index 42f5dd02578193de32a67f1e60002b6b0a12f1e2..ff87292a208d51d556af171c0a5c7c01fd7dcc5f 100644
--- a/Database/DatabaseContext.cs
+++ b/Database/DatabaseContext.cs
@@ -28,12 +28,12 @@ public class DatabaseContext : DbContext
             .IsUnique();
     }
     
-    public static void EnsureSeedData(DatabaseContext context)
+    public static void EnsureSeedData(DatabaseContext context, string path = "default-users.json")
     {
         context.Database.EnsureCreated(); // Ensure database is created
-        if (File.Exists("default-users.json"))
+        if (File.Exists(path))
         {
-            var seedUsers = JsonConvert.DeserializeObject<List<SeedUser>>(File.ReadAllText("default-users.json"));
+            var seedUsers = JsonConvert.DeserializeObject<List<SeedUser>>(File.ReadAllText(path));
 
             foreach (var seedUser in seedUsers)
             {
diff --git a/UnitTest/UnitTest.csproj b/UnitTest/UnitTest.csproj
index 75ee2e6dfe1cf0f391c958714be64929a36444ce..07a023dd86000062e9d8089316894637b6ed05e4 100644
--- a/UnitTest/UnitTest.csproj
+++ b/UnitTest/UnitTest.csproj
@@ -20,6 +20,7 @@
 
     <ItemGroup>
       <ProjectReference Include="..\DiagramBuilder\DiagramBuilder.csproj" />
+      <ProjectReference Include="..\WebAPI\WebAPI.csproj" />
     </ItemGroup>
 
 </Project>
diff --git a/UnitTest/WebApiTests.cs b/UnitTest/WebApiTests.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9c8e820c3e1f2fd8a58bb8dc844f35ab7d4e1d29
--- /dev/null
+++ b/UnitTest/WebApiTests.cs
@@ -0,0 +1,50 @@
+using Database;
+using Microsoft.AspNetCore.Http.HttpResults;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using WebAPI.Controllers;
+using WebAPI.DTO;
+
+namespace UnitTest;
+
+public class WebApiTests
+{
+    [SetUp]
+    public void Setup()
+    {
+        //create db json seed file
+        SeedUser seedUser = new SeedUser()
+        {
+            Id = 1,
+            Name = "TestUser",
+            Password = "TestPassword"
+        };
+        
+        //store to file
+        string json = JsonConvert.SerializeObject(new List<SeedUser>{seedUser});
+        File.WriteAllText("users.json", json);
+        
+        
+        
+    }
+    
+    [Test]
+    public void AuthenticationTest()
+    {
+        var path = Path.Join(Directory.GetCurrentDirectory(), "users.json");
+        ApiController apiController = new ApiController(null, null, path);
+        var model = new AuthenticateUserModel()
+        {
+            Username = "TestUser",
+            Password = "TestPassword"
+        };
+        var result = apiController.AuthenticateUserPassword(model);
+        //assert that returns Ok and parse token
+        Assert.IsTrue(result is OkObjectResult);
+        var okResult = result as OkObjectResult;
+        var token = okResult.Value as string;
+        Assert.IsTrue(!string.IsNullOrEmpty(token));
+    }
+    
+    
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/ApiController.cs b/WebAPI/Controllers/ApiController.cs
index 69eb96f778494515a7596a317265e84e69772cea..6c6cb43ead4f55ac3f297bc8996b6f4e0574b7ce 100644
--- a/WebAPI/Controllers/ApiController.cs
+++ b/WebAPI/Controllers/ApiController.cs
@@ -23,12 +23,12 @@ namespace WebAPI.Controllers
         private readonly IConfiguration _configuration;
         private int tokenValidityMinutes => _configuration.GetValue<int>("UserManagement:TokenValidityMinutes");
 
-        public ApiController(ILogger<ApiController> logger, IConfiguration configuration)
+        public ApiController(ILogger<ApiController> logger, IConfiguration configuration, string dbPath)
         {
             _logger = logger;
             _configuration = configuration;
             using var db = new DatabaseContext();
-            DatabaseContext.EnsureSeedData(db);
+            DatabaseContext.EnsureSeedData(db, dbPath);
         }
 
         #region SourceCodeTransformation