Example #1
0
        public void SaveQuestionEditModelIntoDbTest()
        {
            var questionsRepositoryMock     = new QuestionsRepositoryMock();
            var answersRepositoryMock       = new AnswersRepositoryMock();
            var correctAnswerRepositoryMock = new CorrectAnswerRepositoryMock();
            var managerMock = new DataManagerMock(answersRepositoryMock, new TestsRepositoryMock(),
                                                  questionsRepositoryMock, new UsersRepositoryMock(), correctAnswerRepositoryMock, new UserTestAccessRepositoryMock(), new StatisticsRepositoryMock());
            var questionService   = new QuestionService(managerMock);
            var questionEditModel = new QuestionEditModel()
            {
                AnswerEditModels = new List <AnswerEditModel>()
                {
                    new AnswerEditModel()
                    {
                        Correct = true, Name = "AnsText"
                    },
                    new AnswerEditModel()
                    {
                        Correct = true, Name = "AnsText2"
                    }
                },
                Id   = 1,
                Name = "QuestText"
            };

            questionService.SaveQuestionEditModelIntoDb(questionEditModel);

            Assert.True(questionsRepositoryMock.IsSetQuestionIntoDb);
            Assert.True(answersRepositoryMock.IsSaveAnswer);
            Assert.True(correctAnswerRepositoryMock.IsSetCorrectAnswerIntoDb);
        }
Example #2
0
        public void GetAllByUserIdUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var statisticService = new StatisticService(managerMock);

            StatiscticViewModel model = new StatiscticViewModel()
            {
                testId = 1, ownerId = "1", Result = 1, PassedAt = DateTime.Parse("01/01/2021")
            };
            StatiscticViewModel model2 = new StatiscticViewModel()
            {
                testId = 2, ownerId = "1", Result = 2, PassedAt = DateTime.Parse("01/01/2021")
            };

            const string userId = "1";

            var actual = statisticService.GetAllByUserId(userId);

            Assert.Equal(actual[0].testId, model.testId);
            Assert.Equal(actual[0].ownerId, model.ownerId);
            Assert.Equal(actual[0].Result, model.Result);

            Assert.Equal(actual[1].testId, model2.testId);
            Assert.Equal(actual[1].ownerId, model2.ownerId);
            Assert.Equal(actual[1].Result, model2.Result);
        }
        public void GetTestEditModelUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var testService = new TestService(managerMock);

            TestEditModel model = new TestEditModel()
            {
                testId = 1, Title = "TEST1", Description = "DESC1", CodeLock = "111"
            };
            TestEditModel model2 = new TestEditModel();

            const int testId     = 1;
            const int zeroTestId = 0;

            var actual           = testService.GetTestEditModel(testId);
            var actualWithZeroId = testService.GetTestEditModel(zeroTestId);

            Assert.Equal(actual.testId, model.testId);
            Assert.Equal(actual.Title, model.Title);

            Assert.Equal(actualWithZeroId.testId, model2.testId);
            Assert.Equal(actualWithZeroId.Title, model2.Title);
        }
Example #4
0
        public void GetAllUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var writtenLetterService = new WrittenLetterService(managerMock);

            List <WrittenLetterModel> models = new List <WrittenLetterModel>()
            {
                new WrittenLetterModel()
                {
                    User = new ApplicationUser()
                    {
                        Id = "1"
                    }, WrittenAt = DateTime.Parse("01/01/2021"), Experience = "experience1", Reason = "reason1"
                },
                new WrittenLetterModel()
                {
                    User = new ApplicationUser()
                    {
                        Id = "2"
                    }, WrittenAt = DateTime.Parse("01/01/2021"), Experience = "experience2", Reason = "reason2"
                }
            };

            var actual = writtenLetterService.GetAll();

            Assert.Equal(actual[0].User.Id, models[0].User.Id);
            Assert.Equal(actual[0].Reason, models[0].Reason);

            Assert.Equal(actual[1].User.Id, models[1].User.Id);
            Assert.Equal(actual[1].Reason, models[1].Reason);
        }
        public void TestFromDbToViewModelByIdUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var testService = new TestService(managerMock);

            UserViewModel userModel = new UserViewModel()
            {
                Id = "1", FirstName = "FIRSTNAME1", LastName = "LASTNAME1", Email = "*****@*****.**"
            };
            TestViewModel model = new TestViewModel()
            {
                testId = 1, Title = "TEST1", Description = "DESC1", Owner = userModel, CodeLock = "111"
            };

            const int testId = 1;

            var actual = testService.TestFromDbToViewModelById(testId);

            Assert.Equal(actual.testId, model.testId);
            Assert.Equal(actual.Owner.Id, model.Owner.Id);
            Assert.Equal(actual.Title, model.Title);
        }
Example #6
0
        public void GetAllViewQuestionsByTestIdUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var questionService = new QuestionService(managerMock);

            List <AnswerModel.AnswerViewModel> answers = new List <AnswerModel.AnswerViewModel>()
            {
                new AnswerModel.AnswerViewModel()
                {
                    Name = "answer1", isTruth = true
                },
                new AnswerModel.AnswerViewModel()
                {
                    Name = "answer2", isTruth = false
                }
            };

            QuestionViewModel model = new QuestionViewModel()
            {
                questionId = 1, Name = "question1", Answers = answers, testId = 1
            };

            const int testId = 1;

            var actual = questionService.GetAllViewQuestionsByTestId(testId);

            Assert.Equal(actual.Count, 2);
            Assert.Equal(actual[0].testId, model.testId);
            Assert.Equal(actual[0].questionId, model.questionId);
            Assert.Equal(actual[0].Answers.Count, model.Answers.Count);
            Assert.Equal(actual[0].Answers[0].isTruth, model.Answers[0].isTruth);
        }
        public void GetCorrectPropertyByQuestionAndAnswerIdsTest()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new TestsRepositoryMock(),
                                                  new QuestionsRepositoryMock(), new UsersRepositoryMock(), new CorrectAnswerRepositoryMock(), new UserTestAccessRepositoryMock(), new StatisticsRepositoryMock());
            var correctAnswerService = new CorrectAnswerService(managerMock);

            Assert.True(correctAnswerService.GetCorrectPropertyByQuestionAndAnswerIds(1, 1));
            Assert.False(correctAnswerService.GetCorrectPropertyByQuestionAndAnswerIds(2, 3));
        }
Example #8
0
        public void GetQuestionsByTestIdTest()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new TestsRepositoryMock(),
                                                  new QuestionsRepositoryMock(), new UsersRepositoryMock(), new CorrectAnswerRepositoryMock(), new UserTestAccessRepositoryMock(), new StatisticsRepositoryMock());
            var questionService = new QuestionService(managerMock);
            var expected        = new List <QuestionViewModel>()
            {
                new QuestionViewModel()
                {
                    AnswerViewModels = new List <AnswerViewModel>()
                    {
                        new AnswerViewModel()
                        {
                            Id = 1, Name = "answer1", Correct = true
                        },
                        new AnswerViewModel()
                        {
                            Id = 3, Name = "answer2", Correct = false
                        }
                    },
                    Id   = 1,
                    Name = "Question1"
                },

                new QuestionViewModel()
                {
                    AnswerViewModels = new List <AnswerViewModel>()
                    {
                        new AnswerViewModel()
                        {
                            Id = 4, Name = "answer4", Correct = false
                        },
                        new AnswerViewModel()
                        {
                            Id = 5, Name = "answer5", Correct = true
                        }
                    },
                    Id   = 2,
                    Name = "Question2"
                }
            };

            var actual = questionService.GetQuestionsByTestId(1);

            Assert.Equal(expected.Count, actual.Count);

            for (int i = 0; i < actual.Count; i++)
            {
                Assert.Equal(expected[i].Id, actual[i].Id);
                Assert.Equal(expected[i].Name, actual[i].Name);
                Assert.Equal(expected[i].AnswerViewModels[i].Name, actual[i].AnswerViewModels[i].Name);
                Assert.Equal(expected[i].AnswerViewModels[i].Id, actual[i].AnswerViewModels[i].Id);
                Assert.Equal(expected[i].AnswerViewModels[i].Correct, actual[i].AnswerViewModels[i].Correct);
            }
        }
        public void SetAllowTest()
        {
            var userTestAccessRepositoryMock = new UserTestAccessRepositoryMock();
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new TestsRepositoryMock(),
                                                  new QuestionsRepositoryMock(), new UsersRepositoryMock(), new CorrectAnswerRepositoryMock(), userTestAccessRepositoryMock, new StatisticsRepositoryMock());
            var userTestAccessService = new UserTestAccessService(managerMock);

            userTestAccessService.SetAllow(1, "1");

            Assert.True(userTestAccessRepositoryMock.IsSetAllow);
        }
        public void UnbanByUserIdUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var userService = new UserService(managerMock);

            const string userId = "1";

            userService.UnbanByUserId(userId);

            Assert.Equal(UsersRepositoryMock.IsUserUnbanned, true);
        }
Example #11
0
        public void SaveStatisticEditModelIntoDbUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var statisticService = new StatisticService(managerMock);

            StatisticEditModel emodel = new StatisticEditModel()
            {
                testId = 1, userId = "1", Result = 1
            };

            statisticService.SaveStatisticEditModelIntoDb(emodel);

            Assert.Equal(StatisticRepositoryMock.SavedToDb, true);
        }
        public void GetUserModelFromDbToViewByIdUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var           userService = new UserService(managerMock);
            UserViewModel model       = new UserViewModel()
            {
                Id = "1", FirstName = "firstname1", LastName = "lastname1", AvatarUri = "/", Email = "*****@*****.**", Baned = false
            };

            const string userId = "1";
            var          actual = userService.GetUserModelFromDbToViewById(userId);

            Assert.Equal(actual.Id, model.Id);
            Assert.Equal(actual.Email, model.Email);
            Assert.Equal(actual.Baned, model.Baned);
        }
Example #13
0
        public void SaveWrittenLetterModelIntoDbUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var writtenLetterService = new WrittenLetterService(managerMock);

            WrittenLetterModel writtenLetterModel = new WrittenLetterModel()
            {
                User = new ApplicationUser()
                {
                    Id = "1"
                }, Reason = "reason1", Experience = "experience1"
            };

            writtenLetterService.SaveWrittenLetterModelIntoDb(writtenLetterModel);

            Assert.Equal(true, WrittenLetterRepositoryMock.SavedToDb);
        }
Example #14
0
        public void GetTestByIdTest()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new TestsRepositoryMock(),
                                                  new QuestionsRepositoryMock(), new UsersRepositoryMock(), new CorrectAnswerRepositoryMock(), new UserTestAccessRepositoryMock(), new StatisticsRepositoryMock());
            var testService = new TestService(managerMock);
            var expected    = new TestViewModel()
            {
                Id = 1, Name = "Test1", PassToDate = DateTime.Today, User = new UserViewModel()
                {
                    FirstName = "Name1", LastName = "Name2"
                }
            };

            var actual = testService.GetTestById(testId);

            Assert.Equal(expected.Id, actual.Id);
            Assert.Equal(expected.Name, actual.Name);
            Assert.Equal(expected.PassToDate, actual.PassToDate);
            Assert.Equal(expected.User.FirstName, actual.User.FirstName);
            Assert.Equal(expected.User.LastName, actual.User.LastName);
        }
Example #15
0
        public void SetTestEditModelIntoDbTest()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new TestsRepositoryMock(),
                                                  new QuestionsRepositoryMock(), new UsersRepositoryMock(), new CorrectAnswerRepositoryMock(), new UserTestAccessRepositoryMock(), new StatisticsRepositoryMock());
            var testService   = new TestService(managerMock);
            var testEditModel = new TestEditModel {
                Id = 1, PassToDate = DateTime.Today, Name = "Fake"
            };
            var adminName      = "admin";
            var expectedTestId = 1;

            var actual = testService.SetTestEditModelIntoDb(testEditModel, adminName);

            Assert.Equal(expectedTestId, actual);

            testEditModel.Id = 0;
            expectedTestId   = 0;
            actual           = testService.SetTestEditModelIntoDb(testEditModel, adminName);

            Assert.Equal(expectedTestId, actual);
        }
        public void GetAllAllowTestsByUserEmailTest()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new TestsRepositoryMock(),
                                                  new QuestionsRepositoryMock(), new UsersRepositoryMock(), new CorrectAnswerRepositoryMock(), new UserTestAccessRepositoryMock(), new StatisticsRepositoryMock());
            var userTestAccessService = new UserTestAccessService(managerMock);
            var expected = new List <TestViewModel>()
            {
                new TestViewModel()
                {
                    Id = 1, Name = "Test1", PassToDate = DateTime.Today, User = new UserViewModel()
                    {
                        FirstName = "Name1",
                        LastName  = "Name2"
                    }
                },
                new TestViewModel()
                {
                    Id = 2, Name = "Test2", PassToDate = DateTime.Today, User = new UserViewModel()
                    {
                        FirstName = "Name1",
                        LastName  = "Name2"
                    }
                }
            };

            var actual = userTestAccessService.GetAllAllowTestsByUserEmail("email");

            Assert.Equal(expected.Count, actual.Count);

            for (int i = 0; i < actual.Count; i++)
            {
                Assert.Equal(expected[i].Id, actual[i].Id);
                Assert.Equal(expected[i].Name, actual[i].Name);
                Assert.Equal(expected[i].PassToDate, actual[i].PassToDate);
                Assert.Equal(expected[i].User.FirstName, actual[i].User.FirstName);
                Assert.Equal(expected[i].User.LastName, actual[i].User.LastName);
            }
        }
        public void GetModelsFromEditToViewTest()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new TestsRepositoryMock(),
                                                  new QuestionsRepositoryMock(), new UsersRepositoryMock(), new CorrectAnswerRepositoryMock(), new UserTestAccessRepositoryMock(), new StatisticsRepositoryMock());
            var correctAnswerService   = new CorrectAnswerService(managerMock);
            var answerEditModelResults = new List <CorrectAnswerEditModel>()
            {
                new CorrectAnswerEditModel()
                {
                    AnswerId = 1, Correct = true, QuestionId = 1, TestId = 1
                },
                new CorrectAnswerEditModel()
                {
                    AnswerId = 5, Correct = true, QuestionId = 2, TestId = 1
                }
            };
            var expected = new List <CorrectAnswerViewModel>()
            {
                new CorrectAnswerViewModel()
                {
                    Correct = true, QuestionName = "Question1"
                },
                new CorrectAnswerViewModel()
                {
                    Correct = true, QuestionName = "Question2"
                }
            };

            var actual = correctAnswerService.GetModelsFromEditToView(answerEditModelResults);

            Assert.Equal(expected.Count, actual.Count);

            for (int i = 0; i < actual.Count; i++)
            {
                Assert.Equal(expected[i].QuestionName, actual[i].QuestionName);
                Assert.Equal(expected[i].Correct, actual[i].Correct);
            }
        }
        public void GetTestIdByReferrerTokenUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var testService = new TestService(managerMock);

            UserViewModel userModel = new UserViewModel()
            {
                Id = "1", FirstName = "FIRSTNAME1", LastName = "LASTNAME1", Email = "*****@*****.**"
            };
            TestViewModel model = new TestViewModel()
            {
                testId = 1, Title = "TEST1", Description = "DESC1", Owner = userModel, CodeLock = "111"
            };

            var referrer = TestsRepositoryMock.referrer;

            var actual = testService.GetTestIdByReferrerToken(referrer);

            Assert.Equal(actual, 1);
        }
        public void GetAllTestsUnit()
        {
            var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(),
                                                  new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(),
                                                  new WrittenLetterRepositoryMock());

            var testService = new TestService(managerMock);

            UserViewModel userModel = new UserViewModel()
            {
                Id = "1", FirstName = "FIRSTNAME1", LastName = "LASTNAME1", Email = "*****@*****.**"
            };
            TestViewModel model = new TestViewModel()
            {
                testId = 1, Title = "TEST1", Description = "DESC1", Owner = userModel, CodeLock = "111"
            };

            UserViewModel userModel2 = new UserViewModel()
            {
                Id = "2", FirstName = "FIRSTNAME2", LastName = "LASTNAME2", Email = "*****@*****.**"
            };
            TestViewModel model2 = new TestViewModel()
            {
                testId = 2, Title = "TEST2", Description = "DESC2", Owner = userModel2
            };

            var actual = testService.GetTestsList();

            Assert.Equal(actual[0].testId, model.testId);
            Assert.Equal(actual[0].Title, model.Title);
            Assert.Equal(actual[0].Owner.FirstName, model.Owner.FirstName);
            Assert.Equal(actual[0].CodeLock, model.CodeLock);

            Assert.Equal(actual[1].testId, model2.testId);
            Assert.Equal(actual[1].CodeLock, model2.CodeLock);
        }