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); } }
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>(); }