public RepositoryFixture()
        {
            // AutoMapper
            Mapper.Reset();
            Mapper.Initialize(cfg => cfg.CreateMap <Entity <int>, FakeModel>());

            // data mapper
            DataMapper = new FakeDataMapper();

            // database
            var dbContextOptionsBuilder = new DbContextOptionsBuilder <FakeDbContext>().UseInMemoryDatabase($"{nameof(RepositoryFixture)}{Guid.NewGuid():N}");

            UnitOfWork = new FakeUnitOfWork(
                dbContext => new FakeRepository(dbContext),
                dbContextOptionsBuilder.Options,
                "dbo"
                );

            UnitOfWork.FakeEntityRepository.Insert(new FakeEntity());
            UnitOfWork.FakeEntityRepository.Insert(new FakeEntity());
            UnitOfWork.FakeEntityRepository.Insert(new FakeEntity());
            UnitOfWork.FakeEntityRepository.Insert(new FakeEntity());
            UnitOfWork.FakeEntityRepository.Insert(new FakeEntity());
            UnitOfWork.Commit();

            ExistingFakeEntity = UnitOfWork.FakeEntityRepository.GetList().First();
            ExistingFakeModel  = UnitOfWork.FakeEntityRepository.GetList <FakeModel>(DataMapper).First();
        }
예제 #2
0
        public void GetPagedListTModel_ByQueryParameters_ReturnListOfModel()
        {
            // Arrange
            var dataMapper      = new FakeDataMapper();
            var queryParameters = new QueryParameters <FakeEntity, int>();
            var pagedResult     = new PagedResult <FakeModel>();

            _mockRepository.Setup(m => m.GetPagedList <FakeModel>(dataMapper, queryParameters)).Returns(pagedResult);

            // Act & Assert
            Assert.Equal(pagedResult, _mockRepository.Object.GetPagedList <FakeModel>(dataMapper, queryParameters));
        }
예제 #3
0
        public void GetTModel_ByQueryParameters_ReturnModel()
        {
            // Arrange
            var dataMapper      = new FakeDataMapper();
            var queryParameters = new QueryParameters <FakeEntity, int>();
            var model           = new FakeModel();

            _mockRepository.Setup(m => m.Get <FakeModel>(dataMapper, queryParameters)).Returns(model);

            // Act & Assert
            Assert.Equal(model, _mockRepository.Object.Get <FakeModel>(dataMapper, queryParameters));
        }
예제 #4
0
        public async Task GetListTModelAsync_ByQueryParameters_ReturnListOfModel()
        {
            // Arrange
            var dataMapper      = new FakeDataMapper();
            var queryParameters = new QueryParameters <FakeEntity, int>();
            var model           = new FakeModel();

            _mockRepository
            .Setup(m => m.GetListAsync <FakeModel>(dataMapper, queryParameters))
            .ReturnsAsync(new List <FakeModel> {
                model
            });

            // Act & Assert
            Assert.Contains(model, await _mockRepository.Object.GetListAsync <FakeModel>(dataMapper, queryParameters));
        }