예제 #1
0
        public void TestGetUserMeasurementsSortedByDate_ShouldFilterAndReturnCorrectly(string userId)
        {
            // Arrange
            var measurements = new List <Measurement>
            {
                new Measurement {
                    UserId = userId
                },
                new Measurement {
                    UserId = userId
                },
                new Measurement()
            }.AsQueryable();

            var mockedMeasurementRepository = new Mock <IRepository <Measurement> >();

            mockedMeasurementRepository.Setup(r => r.All).Returns(measurements);

            var mockedUnitOfWork = new Mock <IUnitOfWork>();
            var mockedFactory    = new Mock <IMeasurementFactory>();

            var service = new MeasurementService(mockedMeasurementRepository.Object,
                                                 mockedUnitOfWork.Object,
                                                 mockedFactory.Object);

            var expected = measurements.Where(m => m.UserId == userId);

            // Act
            var result = service.GetUserMeasurementsSortedByDate(userId);

            // Assert
            CollectionAssert.AreEqual(expected, result);
        }
예제 #2
0
        public void TestGetUserMeasurementsSortedByDate_ShouldCallRepositoryAll(string userId)
        {
            // Arrange
            var mockedMeasurementRepository = new Mock <IRepository <Measurement> >();
            var mockedUnitOfWork            = new Mock <IUnitOfWork>();
            var mockedFactory = new Mock <IMeasurementFactory>();

            var service = new MeasurementService(mockedMeasurementRepository.Object,
                                                 mockedUnitOfWork.Object,
                                                 mockedFactory.Object);

            // Act
            service.GetUserMeasurementsSortedByDate(userId);

            // Assert
            mockedMeasurementRepository.Verify(r => r.All, Times.Once);
        }