diff --git a/src/Logs.Services.Tests/UserServiceTests/GetByIdTests.cs b/src/Logs.Services.Tests/UserServiceTests/GetByIdTests.cs new file mode 100644 index 0000000..59809c0 --- /dev/null +++ b/src/Logs.Services.Tests/UserServiceTests/GetByIdTests.cs @@ -0,0 +1,49 @@ +using Logs.Data.Contracts; +using Logs.Models; +using Moq; +using NUnit.Framework; + +namespace Logs.Services.Tests.UserServiceTests +{ + [TestFixture] + public class GetByIdTests + { + [TestCase("d547a40d-c45f-4c43-99de-0bfe9199ff95")] + [TestCase("99ae8dd3-1067-4141-9675-62e94bb6caaa")] + public void TestGetById_ShouldCallRepositoryGetById(string id) + { + // Arrange + var mockedRepository = new Mock>(); + var mockedUnitOfWork = new Mock(); + + var service = new UserService(mockedRepository.Object, mockedUnitOfWork.Object); + + // Act + service.GetUserById(id); + + // Assert + mockedRepository.Verify(r => r.GetById(id), Times.Once); + } + + [TestCase("d547a40d-c45f-4c43-99de-0bfe9199ff95")] + [TestCase("99ae8dd3-1067-4141-9675-62e94bb6caaa")] + public void TestGetById_ShoulReturnCorrectly(string id) + { + // Arrange + var mockedUser = new Mock(); + + var mockedRepository = new Mock>(); + mockedRepository.Setup(r => r.GetById(It.IsAny())).Returns(mockedUser.Object); + + var mockedUnitOfWork = new Mock(); + + var service = new UserService(mockedRepository.Object, mockedUnitOfWork.Object); + + // Act + var result = service.GetUserById(id); + + // Assert + Assert.AreSame(mockedUser.Object, result); + } + } +}