예제 #1
0
        public void UploadQuiz(Quiz quiz)
        {
            if (quiz.Id == null)
            {
                _context.Quizzes.Add(quiz);
            }
            else
            {
                _context.Update(quiz);
            }

            _context.SaveChanges();
        }
        public void Initialise_When_Users_Is_Not_Empty_Does_Not_Populate_Users()
        {
            // Arrange
            _quizManagerContext.Users.Add(new User()
            {
                Username = "******", Password = "******", Role = "TestRole"
            });
            _quizManagerContext.SaveChanges();
            _quizManagerContext.Quizzes.Add(new Quiz()
            {
                Title = "The Software Development Lifecycle"
            });
            _quizManagerContext.SaveChanges();
            _quizManagerContext.Questions.Add(new Question()
            {
                QuizId = _quizManagerContext.Quizzes.Single(x => x.Title == "The Software Development Lifecycle").Id, Text = "At which point in the software development lifecycle is a system design document produced?"
            });
            _quizManagerContext.SaveChanges();
            _quizManagerContext.Answers.Add(new Answer()
            {
                QuestionId = _quizManagerContext.Questions.Single(x => x.Text == "At which point in the software development lifecycle is a system design document produced?").Id, Text = "Deployment/implementation."
            });
            _quizManagerContext.SaveChanges();

            var expectedNumberOfUsers     = 1;
            var expectedNumberOfQuizzes   = 1;
            var expectedNumberOfQuestions = 1;
            var expectedNumberOfAnswers   = 1;

            // Act
            DbInitialiser.Initialise(_quizManagerContext);

            var actualNumberOfUsers     = _quizManagerContext.Users.Count();
            var actualNumberOfQuizzes   = _quizManagerContext.Quizzes.Count();
            var actualNumberOfQuestions = _quizManagerContext.Questions.Count();
            var actualNumberOfAnswers   = _quizManagerContext.Answers.Count();

            // Assert
            Assert.AreEqual(expectedNumberOfUsers, actualNumberOfUsers);
            Assert.AreEqual(expectedNumberOfQuizzes, actualNumberOfQuizzes);
            Assert.AreEqual(expectedNumberOfQuestions, actualNumberOfQuestions);
            Assert.AreEqual(expectedNumberOfAnswers, actualNumberOfAnswers);
        }
예제 #3
0
        public void Setup()
        {
            _options = new DbContextOptionsBuilder <QuizManagerContext>()
                       .UseInMemoryDatabase(databaseName: "QuizManager")
                       .Options;

            using (var context = new QuizManagerContext(_options))
            {
                context.Quizzes.Add(new Quiz {
                    Title = "Geography"
                });
                context.SaveChanges();
            };
        }
예제 #4
0
        public void Setup()
        {
            _options = new DbContextOptionsBuilder <QuizManagerContext>()
                       .UseInMemoryDatabase(databaseName: "QuizManager")
                       .Options;

            using (var context = new QuizManagerContext(_options))
            {
                context.Users.Add(new User {
                    Username = "******", Password = SecurePasswordHasher.Hash("rob"), IsEditor = true, IsRestricted = true, IsViewer = true
                });
                context.Users.Add(new User {
                    Username = "******", Password = SecurePasswordHasher.Hash("alan"), IsEditor = true, IsRestricted = true, IsViewer = true
                });
                context.Users.Add(new User {
                    Username = "******", Password = SecurePasswordHasher.Hash("steve"), IsEditor = true, IsRestricted = true, IsViewer = true
                });
                context.Users.Add(new User {
                    Username = "******", Password = SecurePasswordHasher.Hash("password"), IsEditor = false, IsRestricted = true, IsViewer = false
                });
                context.SaveChanges();
            };
        }