示例#1
0
        public void AddCategory_AddsCategory()
        {
            // Arrange
            using (var context = new ApplicationDbContext(_options))
            {
                context.Database.EnsureDeleted();
                IResourceCategoryDataAccess categoryDataAccess = new ResourceCategoryDataAccess(context);

                // Act
                int result = categoryDataAccess.AddCategory("TestCategory");

                // Assert
                Assert.Equal("TestCategory", context.ResourceCategories.First().Name);
            }
        }
示例#2
0
        public void GetCategory_GetsCategories()
        {
            // Arrange
            using (var context = new ApplicationDbContext(_options))
            {
                context.Database.EnsureDeleted();
                IResourceCategoryDataAccess categoryDataAccess = new ResourceCategoryDataAccess(context);
                categoryDataAccess.AddCategory("TestCategory");
                categoryDataAccess.AddCategory("TestCategory2");

                // Act
                var result = categoryDataAccess.GetAllCategories();

                // Assert
                Assert.Equal(2, result.Count());
                Assert.Equal("TestCategory", result.First().Name);
                Assert.Equal("TestCategory2", result.Skip(1).First().Name);
            }
        }
示例#3
0
        private static int[] GetCategories(ResourceCategoryDataAccess resourceCategoryDataAccess)
        {
            int[] categories         = new int[3];
            var   resourceCategories = resourceCategoryDataAccess.GetAllCategories();

            if (resourceCategories.Any())
            {
                categories[0] = resourceCategories.First().Id;
                categories[1] = resourceCategories.Skip(1).First().Id;
                categories[2] = resourceCategories.Skip(2).First().Id;
            }
            else
            {
                categories[0] = resourceCategoryDataAccess.AddCategory("Software Development");
                categories[1] = resourceCategoryDataAccess.AddCategory("Travel");
                categories[2] = resourceCategoryDataAccess.AddCategory("Gambling");
            }
            return(categories);
        }
示例#4
0
        static void Main(string[] args)
        {
            Console.WriteLine("This tool will clear and then repopulate the data in the database.");
            Console.WriteLine("Press Y to continue, or any other key to cancel.");

            ConsoleKeyInfo key = Console.ReadKey();

            if (key.Key != ConsoleKey.Y)
            {
                return;
            }

            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = builder.Build();

            Console.WriteLine(configuration.GetConnectionString("DefaultConnection"));

            var options =
                new DbContextOptionsBuilder <ApplicationDbContext>()
                .UseSqlServer(configuration.GetConnectionString("DefaultConnection"))
                .EnableSensitiveDataLogging()
                .Options;
            ApplicationDbContext applicationDbContext = new ApplicationDbContext(options);

            var dataAccess = new ResourceDataAccess(applicationDbContext);
            ResourceCategoryDataAccess resourceCategoryDataAccess = new ResourceCategoryDataAccess(applicationDbContext);

            int[] categories = GetCategories(resourceCategoryDataAccess);

            for (int i = 1; i <= 100; i++)
            {
                int    category       = _random.Next(categories.Length);
                string webSiteAddress = $"www.{CreateWebAddress()}.{GetExtension()}";

                dataAccess.CreateWebSite(categories[category], $"Test web site {i}", webSiteAddress);
            }
        }