public async Task Get_SampleById_ShouldReturnSample() { // Arrange var sampleId = "12354321-3123-1122-4332-123456789231"; var sample = new DetailedSampleViewModel() { Id = new Guid(sampleId), Name = "Test 1" }; var serviceMock = new Mock <ISampleService>(); // Using Moq to mock the service serviceMock .Setup(s => s.GetSampleById(sampleId)) .ReturnsAsync(sample); var loggerMock = new Mock <ILogger>(); var controller = new SampleController(serviceMock.Object, null, null, loggerMock.Object); // Act var response = await controller.GetSampleById(sampleId); // Assert Assert.NotNull(response); var okObjectResult = response as OkObjectResult; Assert.NotNull(okObjectResult); var model = okObjectResult.Value as DetailedSampleViewModel; Assert.NotNull(model); var modelId = model.Id; Assert.Equal(new Guid(sampleId), modelId); }