public async Task GetDetailsShouldWork() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "GetDetailsShouldWork").Options; var dbContext = new ApplicationDbContext(options); var post = new Post() { Id = 1, Name = "random name", Price = 53222, Currency = Currency.LV, Mileage = 25123, Color = new Color(), EngineType = EngineType.Disel, Horsepower = 255, TransmissionType = TransmissionType.Automatic, ManufactureDate = DateTime.Now, Category = new Category(), City = new City(), User = new ApplicationUser(), PhoneNumber = "0897456321", Description = "random descr", Eurostandard = Eurostandard.Five, Condition = Condition.New, VehicleCategory = new VehicleCategory(), }; dbContext.Posts.Add(post); await dbContext.SaveChangesAsync(); var postsRepo = new EfDeletableEntityRepository <Post>(dbContext); var makesRepo = new EfDeletableEntityRepository <Make>(dbContext); var makesService = new MakesService(makesRepo); var postsService = new PostsService(postsRepo, makesService); var expected = new List <Post>() { post }.AsQueryable().To <PostDetailsViewModel>().FirstOrDefault(); var actual = postsService.GetDetails <PostDetailsViewModel>(1); Assert.Equal(expected.Id, actual.Id); Assert.Equal(expected.Name, actual.Name); Assert.Equal(expected.PhoneNumber, actual.PhoneNumber); Assert.Equal(expected.TransmissionType, actual.TransmissionType); Assert.Equal(expected.Description, actual.Description); }
public async Task GetDetailsShouldThrowArgumentNullException() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: "GetDetailsShouldThrowException").Options; var dbContext = new ApplicationDbContext(options); var post = new Post(); dbContext.Posts.Add(post); await dbContext.SaveChangesAsync(); var postsRepo = new EfDeletableEntityRepository <Post>(dbContext); var makesRepo = new EfDeletableEntityRepository <Make>(dbContext); var makesService = new MakesService(makesRepo); var postsService = new PostsService(postsRepo, makesService); Assert.Throws <ArgumentNullException>(() => postsService.GetDetails <PostDetailsViewModel>(1)); }