public void GetRestaurantByIdShouldReturnResult()
        {
            // arrange
            var options = new DbContextOptionsBuilder <RestaurantReviewsDbContext>()
                          .UseInMemoryDatabase("GetRestaurantByIdShouldReturnResult")
                          .Options;

            using var arrangeContext = new RestaurantReviewsDbContext(options);
            var id = 5;

            arrangeContext.Restaurant.Add(new Restaurant {
                Id = id, Name = "Abc"
            });
            arrangeContext.SaveChanges();

            using var actContext = new RestaurantReviewsDbContext(options);
            var repo = new RestaurantRepository(actContext, new NullLogger <RestaurantRepository>());

            // act
            var result = repo.GetRestaurantById(id);

            // assert
            // if I needed to check the actual database here, i would use a separate assertContext as well.
            Assert.NotNull(result);
        }
示例#2
0
        public static IRestaurantRepository CreateRestaurantRepository()
        {
            var optionsBuilder = new DbContextOptionsBuilder <RestaurantReviewsDbContext>();

            optionsBuilder.UseSqlServer(SecretConfiguration.ConnectionString);

            var dbContext = new RestaurantReviewsDbContext(optionsBuilder.Options);

            return(new RestaurantRepository(dbContext));
        }
        public void AddRestaurantShouldAdd()
        {
            // arrange
            var options = new DbContextOptionsBuilder <RestaurantReviewsDbContext>()
                          .UseInMemoryDatabase("AddRestaurantShouldAdd")
                          .Options;
            var name       = "Abc";
            var restaurant = new RestaurantReviews.Library.Models.Restaurant {
                Id = 5, Name = name
            };

            using var actContext = new RestaurantReviewsDbContext(options);
            var repo = new RestaurantRepository(actContext, new NullLogger <RestaurantRepository>());

            // act
            repo.AddRestaurant(restaurant);
            repo.Save();

            // assert
            using var assertContext = new RestaurantReviewsDbContext(options);
            var rest = assertContext.Restaurant.First(r => r.Name == name);

            Assert.NotNull(rest);
        }
 /// <summary>
 /// Initializes a new restaurant repository given a suitable restaurant data source.
 /// </summary>
 /// <param name="dbContext">The data source</param>
 public RestaurantRepository(RestaurantReviewsDbContext dbContext)
 {
     _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
 }
 public RestaurantRepository(RestaurantReviewsDbContext context)
 {
     _context = context;
 }
 /// <summary>
 /// Initializes a new restaurant repository given a suitable restaurant data source.
 /// </summary>
 /// <param name="dbContext">The data source</param>
 /// <param name="logger">The logger</param>
 public RestaurantRepository(RestaurantReviewsDbContext dbContext, ILogger <RestaurantRepository> logger)
 {
     _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
     _logger    = logger ?? throw new ArgumentNullException(nameof(logger));
 }
示例#7
0
 /// <summary>
 /// Initializes a new restaurant repository given a suitable restaurant data source.
 /// </summary>
 /// <param name="dbContext">The data source</param>
 public RestaurantRepository(RestaurantReviewsDbContext dbContext) =>