public async Task AddAsyncShouldCreateModel() { var options = new DbContextOptionsBuilder <NeedForCarsDbContext>() .UseInMemoryDatabase("CreateModelDb") .Options; var context = new NeedForCarsDbContext(options); var makesService = new MakesService(context); var modelsService = new ModelsService(context, makesService); var make = new Make { Name = "Make", Description = "Desc" }; await context.Makes.AddAsync(make); await context.SaveChangesAsync(); var model = new Model { MakeId = make.Id, Name = "Model" }; await modelsService.AddAsync(model); await context.SaveChangesAsync(); var result = context.Models.Count(); Assert.Equal(1, result); }
public async Task AddAsyncShouldThrowNullExceptionForInvalidMake() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "AddAsyncShouldThrowNullExceptionForInvalidMake").Options; var dbContext = new ApplicationDbContext(options); var repository = new EfDeletableEntityRepository <Model>(dbContext); var service = new ModelsService(repository); await Assert.ThrowsAsync <ArgumentNullException>(() => service.AddAsync("M5", null)); }
public async Task GetModelByNameShouldWork() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "GetModelByNameShouldWork").Options; var dbContext = new ApplicationDbContext(options); var repository = new EfDeletableEntityRepository <Model>(dbContext); var service = new ModelsService(repository); await service.AddAsync("M5", new Make()); Assert.Equal("M5", service.GetModelByName("M5").Name); }