diff --git a/SessionCompanion/SessionCompanion.XUnitTests/SessionCompanion - Backup.XUnitTests.csproj b/SessionCompanion/SessionCompanion.XUnitTests/SessionCompanion - Backup.XUnitTests.csproj
new file mode 100644
index 0000000..c0dc1ac
--- /dev/null
+++ b/SessionCompanion/SessionCompanion.XUnitTests/SessionCompanion - Backup.XUnitTests.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net5.0
+
+ false
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
diff --git a/SessionCompanion/SessionCompanion.XUnitTests/SessionCompanion.XUnitTests.csproj b/SessionCompanion/SessionCompanion.XUnitTests/SessionCompanion.XUnitTests.csproj
new file mode 100644
index 0000000..a328cea
--- /dev/null
+++ b/SessionCompanion/SessionCompanion.XUnitTests/SessionCompanion.XUnitTests.csproj
@@ -0,0 +1,33 @@
+
+
+
+ net5.0
+
+ false
+
+
+
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SessionCompanion/SessionCompanion.XUnitTests/UserServiceTest.cs b/SessionCompanion/SessionCompanion.XUnitTests/UserServiceTest.cs
new file mode 100644
index 0000000..27182af
--- /dev/null
+++ b/SessionCompanion/SessionCompanion.XUnitTests/UserServiceTest.cs
@@ -0,0 +1,50 @@
+using System;
+using Xunit;
+
+namespace SessionCompanion.XUnitTests
+{
+ using System.Threading.Tasks;
+
+ using Moq;
+ using NUnit.Framework;
+
+ using SessionCompanion.Controllers;
+ using SessionCompanion.Extensions.EitherType;
+ using SessionCompanion.Services.Interfaces;
+ using SessionCompanion.ViewModels.ApiResponses;
+ using SessionCompanion.ViewModels.UserViewModels;
+
+ public class UserServiceTest
+ {
+ private UserController userController;
+ private Mock userServiceMock;
+
+ [SetUp]
+ public void Setup()
+ {
+ userServiceMock = new Mock();
+
+ UserViewModel test = new UserViewModel(){ Id = 1, Password = "123", Username = "test"};
+
+ this.userServiceMock.Setup(p => p.SearchUserByUsername("test")).ReturnsAsync(test);
+
+ this.userController = new UserController(this.userServiceMock.Object);
+ }
+
+ [Test]
+ public void ShouldReturnUserId()
+ {
+ var result = this.userController.Login("test", "123").Result;
+
+ Assert.AreEqual(1,result.Left);
+ }
+
+ [Test]
+ public void ShouldReturnUserName()
+ {
+ var result = this.userController.GetUserName(1).Result;
+
+ Assert.AreEqual("test", result.Left);
+ }
+ }
+}
diff --git a/SessionCompanion/SessionCompanion.sln b/SessionCompanion/SessionCompanion.sln
index edd8402..728a6b1 100644
--- a/SessionCompanion/SessionCompanion.sln
+++ b/SessionCompanion/SessionCompanion.sln
@@ -11,7 +11,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SessionCompanion.ViewModels
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SessionCompanion.Services", "SessionCompanion.Services\SessionCompanion.Services.csproj", "{C0A172ED-0F4C-4E78-8B64-28E2A756F62F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SessionCompanion.Extensions", "SessionCompanion.Extensions\SessionCompanion.Extensions.csproj", "{1EE35EB3-C703-407C-B390-5605A0A46884}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SessionCompanion.Extensions", "SessionCompanion.Extensions\SessionCompanion.Extensions.csproj", "{1EE35EB3-C703-407C-B390-5605A0A46884}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SessionCompanion.XUnitTests", "SessionCompanion.XUnitTests\SessionCompanion.XUnitTests.csproj", "{B8A4DAF6-DD33-4B35-99B8-A1D060EE1869}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -39,6 +41,10 @@ Global
{1EE35EB3-C703-407C-B390-5605A0A46884}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1EE35EB3-C703-407C-B390-5605A0A46884}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1EE35EB3-C703-407C-B390-5605A0A46884}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B8A4DAF6-DD33-4B35-99B8-A1D060EE1869}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B8A4DAF6-DD33-4B35-99B8-A1D060EE1869}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B8A4DAF6-DD33-4B35-99B8-A1D060EE1869}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B8A4DAF6-DD33-4B35-99B8-A1D060EE1869}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE