示例#1
0
        public void Add_quiz_to_database()
        {
            var options = new DbContextOptionsBuilder <QuizDbContext>()
                          .UseInMemoryDatabase(databaseName: "Add_quiz_to_database")
                          .Options;

            using (var context = new QuizDbContext(options))
            {
                var  service = new QuizService(context);
                Quiz q1      = new Quiz {
                    Name = "AAA", Id = 1
                };
                Quiz q2 = new Quiz {
                    Name = "BBB", Id = 2
                };

                service.CreateQuiz(q1);
                service.CreateQuiz(q2);
            }

            using (var context = new QuizDbContext(options))
            {
                var numberOfQuizesInDb = context.Quiz.Count();
                numberOfQuizesInDb.Should().Be(2);
            }
        }
示例#2
0
        protected void CreateBtn_Click(object sender, EventArgs e)
        {
            QuizService.CreateQuiz(SessionVariable.Current.Company.Id, SessionVariable.Current.User.Id,
                                   NameTextBox.Text, DescriptionTextBox.Text, float.Parse(PassPercentTextBox.Text));

            Response.Redirect("QZ0001");
        }
示例#3
0
        public ActionResult CreateQuiz(Models.Quiz.QuizEditModel model)
        {
            var service = new QuizService();

            service.CreateQuiz(model);
            return(RedirectToAction("ManageQuiz"));
        }
        public void CreateQuizValidation(string name, string surname, string email, string sex, DateTime birth, string number, bool smoke, string position, string about)
        {
            var mockBlogRepository = new Mock <IBlogRepository>();

            mockBlogRepository.Setup(m => m.Quizes.Create(It.IsAny <Quiz>()));

            var _quizService = new QuizService(mockBlogRepository.Object);

            Assert.Throws <ValidationException>(() => _quizService.CreateQuiz(new QuizDTO()
            {
                Name = name, Surname = surname, Email = email, DateBirt = birth, NumberTelephone = number, Sex = sex, About = about, Position = position, Smoke = smoke
            }));
        }
示例#5
0
        public async Task CreateQuiz_WithCorrectInputData_ShouldCreateQuiz()
        {
            var options = new DbContextOptionsBuilder <QuizaldoDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())
                          .Options;

            var context = new QuizaldoDbContext(options);

            var quizService = new QuizService(context, mapper, notificationService, achievementService);

            var quiz = GetTestQuiz();

            await quizService.CreateQuiz(quiz);

            Assert.True(quiz.Id > 0);
        }
示例#6
0
        public async Task <ActionResult> SaveQuiz(QuizModel model)
        {
            model.QuizzardUserId = User.Identity.GetUserId();
            if (!ModelState.IsValid)
            {
                return(View(model.Id.IsNullOrWhiteSpace() ? "Create" : "Edit", model));
            }
            if (model.Id.IsNullOrWhiteSpace()) //create
            {
                var newModel = await QuizService.CreateQuiz(model);

                return(RedirectToAction("Edit", new { id = newModel.Id }));
            }
            await QuizService.EditQuiz(model.Id, model);

            return(RedirectToAction("ToggleDraftMode", new { id = model.Id }));
        }
示例#7
0
        public async Task Create_WithIncorrectData_ShouldntCreateQuiz()
        {
            var options = new DbContextOptionsBuilder <QuizaldoDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString())
                          .Options;

            var context = new QuizaldoDbContext(options);

            var quizService = new QuizService(context, mapper, notificationService, achievementService);

            var quiz = GetTestQuiz();

            quiz.Id = 0;

            await quizService.CreateQuiz(quiz);

            Assert.Equal(0, context.Questions.Count());
        }