Exemple #1
0
        public static int EnsureSeedData(this BugContext context)
        {
            var bugCount  = default(int);
            var userCount = default(int);

            // Because each of the following seed method needs to do a save
            // (the data they're importing is relational), we need to call
            // SaveAsync within each method.
            // So let's keep tabs on the counts as they come back

            var dbSeeder = new DatabaseSeeder(context);

            if (!context.Users.Any())
            {
                var pathToSeedData = Path.Combine(Directory.GetCurrentDirectory(), "SeedData", "UserSeedData.json");
                userCount = dbSeeder.SeedUserEntitiesFromJson(pathToSeedData).Result;
            }

            // Because the Bug seed data _could_ contain Assigned Users, we need to ensure that the bugs
            // are seeded _after_ the users
            if (!context.Bugs.Any())
            {
                var pathToSeedData = Path.Combine(Directory.GetCurrentDirectory(), "SeedData", "BugSeedData.json");
                bugCount = dbSeeder.SeedBugEntitiesFromJson(pathToSeedData).Result;
            }

            return(bugCount + userCount);
        }
Exemple #2
0
        public async void DbSeeder_SeedBookData_NoDataSupplied_ShouldThrowException()
        {
            // Arrange
            var bookList    = new List <Bug>();
            var mockBookSet = DbSetHelpers.GetQueryableDbSet(bookList);
            var mockset     = new Mock <IBugContext>();

            mockset.Setup(m => m.Bugs).Returns(mockBookSet.Object);

            // Act & Assert
            var dbSeeder = new DatabaseSeeder(mockset.Object);
            var argEx    = await Assert.ThrowsAsync <ArgumentException>(() =>
                                                                        dbSeeder.SeedBugEntitiesFromJson(string.Empty));
        }
Exemple #3
0
        public void DbSeeder_SeedBookData_DataSupplied_ShouldNotThrowException()
        {
            // Arrange
            // TODO Add an interface here, to mock stuff properly
            var bookList    = new List <Bug>();
            var mockBookSet = DbSetHelpers.GetQueryableDbSet(bookList);
            var mockset     = new Mock <IBugContext>();

            mockset.Setup(m => m.Bugs).Returns(mockBookSet.Object);
            var testJsonDirectory = Path.Combine(Directory.GetCurrentDirectory(), "SeedData");
            var pathToSeedData    = Path.Combine(testJsonDirectory, "TestBookSeedData.json");

            // Act & Assert
            var dbSeeder = new DatabaseSeeder(mockset.Object);

            dbSeeder.SeedBugEntitiesFromJson(pathToSeedData).Wait();
        }