public async Task SingleByIdAsync_should_return_expected_superheroes(
            IEnumerable <Superhero> superheroes,
            IAppLogger <EfRepository <Superhero, int> > logger)
        {
            // Arrange
            var options = new DbContextOptionsBuilder <ShbContext>()
                          .UseInMemoryDatabase(databaseName: "ShbDb")
                          .Options;

            using (var dbContext = new ShbContext(options))
            {
                dbContext.AddRange(superheroes);
                dbContext.SaveChanges();
            }

            using (var dbContext = new ShbContext(options))
            {
                SuperheroRepository repository = new SuperheroRepository(dbContext, logger);

                //Act
                Superhero result = await repository.SingleByIdAsync(superheroes.First().Id);

                //Assert
                result.Should().NotBeNull();
                result.Id.Should().Be(superheroes.First().Id);
            }
        }
Пример #2
0
 public EfRepository(ShbContext dbContext, IAppLogger <EfRepository <TEntity, TPrimaryKeyType> > logger)
 {
     this.dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
     this.logger    = logger ?? throw new ArgumentNullException(nameof(logger));
 }
 public SuperheroRepository(ShbContext dbContext, IAppLogger <EfRepository <Superhero, int> > logger) : base(dbContext, logger)
 {
     this.superheroes = dbContext.Set <Superhero>();
 }