public TestViewModel(TestsService testsService) { TestsService = testsService; CurrentIndex = -1; NextQuestion = new Command(ShowNextQuestion); ConfirmAnswer = new Command(ConfirmSelectedAnswer); }
public void SetTheTestEntityModelStatusIdToOne_WhenValidTestDtoProvided() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var sut = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testDto = new TestDto(); var test = new Test() { StatusId = 1 }; mapperMock.Setup(x => x.MapTo <Test>(It.IsAny <TestDto>())).Returns(test); //Act sut.SaveAsDraft(testDto); //Assert Assert.AreEqual(2, test.StatusId); }
public void ThrowInvalidTestException_WhenTestWithProvidedIdIsFoundInUserTestsRepository() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var id = 1; var testsService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testToDelete = new List <Test>() { new Test { Id = 1 } }; var userTests = new List <UserTest>() { new UserTest { TestId = 1 } }; testsMock.Setup(x => x.All).Returns(testToDelete.AsQueryable); userTestsMock.Setup(x => x.All).Returns(userTests.AsQueryable); //Act & Assert Assert.ThrowsException <InvalidTestException>(() => testsService.Delete(id)); }
public void ThrowInvalidTestException_WhenValidTestDtoIsProvided_ButTestIsNotFoundInDb() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var testsService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testDto = new TestDto() { Id = 2 }; var testToEdit = new List <Test>() { new Test { Id = 1 } }; testsMock.Setup(x => x.All).Returns(testToEdit.AsQueryable); //Act & Assert Assert.ThrowsException <InvalidTestException>(() => testsService.Edit(testDto)); }
public void ThrowTestNotFoundException_WhenTestWithProvidedIdIsNotFound() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var id = 100; var testsService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var data = new List <Test>() { new Test { Id = 1, IsDeleted = false, CreatedOn = new DateTime(1991, 5, 1), Title = "TestTitle", RequiredTime = 60, AuthorId = "TestAuthorId", CategoryId = 1, StatusId = 1 } }; testsMock.Setup(x => x.All).Returns(data.AsQueryable); //Act & Assert Assert.ThrowsException <TestNotFoundException>(() => testsService.Delete(id)); }
public void CallTestRepositoryAllMethodOnce_WhenValidTestDtoIsProvided() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var testsService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testDto = new TestDto() { Id = 1, Questions = new List <QuestionDto>() }; var testToEdit = new List <Test>() { new Test { Id = 1 } }; testsMock.Setup(x => x.All).Returns(testToEdit.AsQueryable); //Act testsService.Edit(testDto); //Assert testsMock.Verify(x => x.All, Times.Once); }
public void Call_RepositoryUpdate_WithTheUpdatedTestObject() { // Arrange var testsRepository = new Mock <IEfRepository <Test> >(); var efData = new Mock <IEfData>(); var mapper = new Mock <IMappingProvider>(); var service = new TestsService(testsRepository.Object, efData.Object, mapper.Object); var testId = Guid.NewGuid(); var testFake = new Mock <Test>(); testsRepository.Setup(x => x.GetById(testId)).Returns(testFake.Object); Test passedTest = null; testsRepository.Setup(x => x.Update(It.IsAny <Test>())) .Callback <Test>(x => passedTest = x); string input = "someinput"; string output = "someoutput"; // Act service.Update(testId, input, output); // Assert Assert.AreEqual(passedTest.Input, input); Assert.AreEqual(passedTest.Output, output); }
public void EditQuestionEntityContentCorrectly_WhenValidTestDtoIsProvided() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var sut = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testDto = new TestDto() { Id = 1, Questions = new List <QuestionDto>() { new QuestionDto() { Id = 1, Content = "New content", Answers = new List <AnswerDto>() } } }; var testToEdit = new List <Test>() { new Test { StatusId = 2, Id = 1 } }; var questionsToEdit = new List <Question>() { new Question { Id = 1, Content = "Old content", TestId = 1, Answers = new List <Answer>() { new Answer() } } }; testsMock.Setup(x => x.All).Returns(testToEdit.AsQueryable); questionsMock.Setup(x => x.All).Returns(questionsToEdit.AsQueryable); //Act sut.Edit(testDto); //Assert Assert.IsTrue(testDto.Questions.First().Content == testToEdit[0].Questions.First().Content&& testToEdit[0].Questions.First().Content == "New content"); }
public CourseViewModel(Course course, Navigator navigator, CoursesService service, TestsService testsService, Func <Test, TestsListItemViewModel> testViewModelFactory) { Service = service; TestsService = testsService; AppNavigator = navigator; TestViewModelFactory = testViewModelFactory; InitializeViewModelFromModel(course); }
public ActionResult TestPage() { //id теста для выгрузки var id = 1; var results = TestsService.GetTest(id); ViewBag.test = results; return(View()); }
public TestsListItemViewModel(Test test, Navigator navigator, TestsService service) { AppNavigator = navigator; TestsService = service; Id = test.Id; Name = test.Name; Detail = test.Detail; ShowTestDetailsCommand = new Command(ShowTestDetails); }
public void AnswerRepositoryDeleteMethodIsInvokedTwice_WhenTestWithProvidedIdIsNotFoundInUserTestsRepository_AndTestHasTwoQuestions_AndTheyHaveOneAnswerEach() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var id = 1; var testsService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testToDelete = new List <Test>() { new Test { Id = 1, Questions = new List <Question>() { new Question() { Answers = new List <Answer>() { new Answer() } }, new Question() { Answers = new List <Answer>() { new Answer() } } } } }; var userTests = new List <UserTest>() { new UserTest { TestId = 2 } }; testsMock.Setup(x => x.All).Returns(testToDelete.AsQueryable); userTestsMock.Setup(x => x.All).Returns(userTests.AsQueryable); //Act testsService.Delete(id); //Assert answersMock.Verify(x => x.Delete(It.IsAny <Answer>()), Times.Exactly(2)); }
public void CallSaverSaveChangesMethodOnce_WhenValidTestDtoIsProvided() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var sut = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testDto = new TestDto() { Id = 1, Questions = new List <QuestionDto>() { new QuestionDto() { Id = 1, Content = "New content", Answers = new List <AnswerDto>() } } }; var testToEdit = new List <Test>() { new Test { Id = 1 } }; var questionsToEdit = new List <Question>() { new Question { Id = 1, Content = "Old content", TestId = 1, Answers = new List <Answer>() } }; testsMock.Setup(x => x.All).Returns(testToEdit.AsQueryable); questionsMock.Setup(x => x.All).Returns(questionsToEdit.AsQueryable); //Act sut.Edit(testDto); //Assert saverMock.Verify(x => x.SaveChanges(), Times.Once); }
public ExecuteTestHub( Paths paths, IOptions <AppSettings> appSettings, TestsService testsService, HubExeRunner exeRunner ) { _paths = paths; _appSettings = appSettings; _testsService = testsService; _exeRunner = exeRunner; }
public void EditTestEntityRequiredTimeCorrectly_WhenValidTestDtoIsProvided() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var sut = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testDto = new TestDto() { RequiredTime = 10, Id = 1, Questions = new List <QuestionDto>() }; var testToEdit = new List <Test>() { new Test { RequiredTime = 100, Id = 1 } }; var questions = new List <Question>() { new Question { TestId = 1, Answers = new List <Answer>() { new Answer() } } }; testsMock.Setup(x => x.All).Returns(testToEdit.AsQueryable); questionsMock.Setup(x => x.All).Returns(questions.AsQueryable); //Act sut.Edit(testDto); //Assert Assert.IsTrue(testDto.RequiredTime == testToEdit[0].RequiredTime && testToEdit[0].RequiredTime == 10); }
public void ThrowInvalidTestException_WhenNullTestDtoIsProvided() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var testsService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); //Act & Assert Assert.ThrowsException <InvalidTestException>(() => testsService.Edit(null)); }
public void ThrowArgumentOutOfRangeException_WhenIdLessThanZeroIsProvided() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var id = -1; var testsService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); //Act & Assert Assert.ThrowsException <ArgumentOutOfRangeException>(() => testsService.Delete(id)); }
public void ThrowsArgumentException_WhenTesWithThePassedId_IsNotFound() { // Arrange var testsRepository = new Mock <IEfRepository <Test> >(); var efData = new Mock <IEfData>(); var mapper = new Mock <IMappingProvider>(); var service = new TestsService(testsRepository.Object, efData.Object, mapper.Object); var testId = Guid.NewGuid(); testsRepository.Setup(x => x.GetById(testId)).Returns(It.IsAny <Test>()); // Act & Assert Assert.Throws <ArgumentException>(() => service.DeleteById(testId)); }
public void CreateInstance_WhenInvokedWithValidParameters() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); //Act var statusService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); //Assert Assert.IsNotNull(statusService); Assert.IsInstanceOfType(statusService, typeof(ITestsService)); }
public void ThrowInvalidTestExceptionWithExpectedMessage_WhenValidTestDtoIsProvided_ButTestIsNotFoundInDb() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var testsService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testDto = new TestDto() { Id = 2 }; var testToEdit = new List <Test>() { new Test { Id = 1 } }; testsMock.Setup(x => x.All).Returns(testToEdit.AsQueryable); string expectedMsg = $"Test with id {testDto.Id} not found!"; string actualMsg = ""; //Act try { testsService.Edit(testDto); } catch (InvalidTestException ex) { actualMsg = ex.Message; } //Assert Assert.AreEqual(expectedMsg, actualMsg); }
public void Call_TestRepository_ToDeleteTheFoundTest() { // Arrange var testsRepository = new Mock <IEfRepository <Test> >(); var efData = new Mock <IEfData>(); var mapper = new Mock <IMappingProvider>(); var service = new TestsService(testsRepository.Object, efData.Object, mapper.Object); var testFake = new Mock <Test>(); testsRepository.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(testFake.Object); testsRepository.Setup(x => x.Delete(testFake.Object)).Verifiable(); // Act service.DeleteById(It.IsAny <Guid>()); // Assert testsRepository.Verify(x => x.Delete(testFake.Object), Times.AtLeastOnce); }
public void Call_Repository_WithCorrectId() { // Arrange var testsRepository = new Mock <IEfRepository <Test> >(); var efData = new Mock <IEfData>(); var mapper = new Mock <IMappingProvider>(); var service = new TestsService(testsRepository.Object, efData.Object, mapper.Object); var testId = Guid.NewGuid(); var testFake = new Mock <Test>(); testsRepository.Setup(x => x.GetById(testId)).Returns(testFake.Object).Verifiable(); // Act service.DeleteById(testId); // Assert testsRepository.Verify(x => x.GetById(testId), Times.AtLeastOnce); }
public void Save_AfterUpdatingTheTestObject() { // Arrange var testsRepository = new Mock <IEfRepository <Test> >(); var efData = new Mock <IEfData>(); var mapper = new Mock <IMappingProvider>(); var service = new TestsService(testsRepository.Object, efData.Object, mapper.Object); var testId = Guid.NewGuid(); var testFake = new Mock <Test>(); testsRepository.Setup(x => x.GetById(testId)).Returns(testFake.Object); efData.Setup(x => x.Commit()).Verifiable(); // Act service.Update(testId, It.IsAny <string>(), It.IsAny <string>()); // Assert efData.Verify(x => x.Commit(), Times.AtLeastOnce); }
public void SaveChanges_WhenCorrectParamIsPassed() { // Arrange var testsRepository = new Mock <IEfRepository <Test> >(); var efData = new Mock <IEfData>(); var mapper = new Mock <IMappingProvider>(); var service = new TestsService(testsRepository.Object, efData.Object, mapper.Object); var testFake = new Mock <Test>(); testsRepository.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(testFake.Object); testsRepository.Setup(x => x.Delete(It.IsAny <Test>())); efData.Setup(x => x.Commit()).Verifiable(); // Act service.DeleteById(It.IsAny <Guid>()); // Assert efData.Verify(x => x.Commit(), Times.AtLeastOnce); }
private async void OperationState_StateChanged(object sender, OperationStateChangedEventArgs e) { if (e.State == TestOperationStates.TestExecutionStarted) { InfoControl.ResetBackgroundColor(); } else if (e.State == TestOperationStates.TestExecutionFinished) { IEnumerable <ITest> tests; try { IDisposableQuery <ITest> obsoleteTests = await TestsService.GetTestsAsync(); tests = obsoleteTests.AsEnumerable(); } catch { tests = await TestsService.GetTestsAsEnumerableAsync(); } InfoControl.UpdateWithTestResult(tests); } }
public void SaverIsInvokedOnce_WhenTestWithProvidedIdIsNotFoundInUserTestsRepository() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var id = 1; var testsService = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testToDelete = new List <Test>() { new Test { Id = 1 } }; var userTests = new List <UserTest>() { new UserTest { TestId = 2 } }; testsMock.Setup(x => x.All).Returns(testToDelete.AsQueryable); userTestsMock.Setup(x => x.All).Returns(userTests.AsQueryable); //Act testsService.Delete(id); //Assert saverMock.Verify(x => x.SaveChanges(), Times.Once); }
public void CallTestsRepositoryAddMethodOnce_WhenValidTestDtoProvided() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var sut = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testDto = new TestDto(); var test = new Test(); mapperMock.Setup(x => x.MapTo <Test>(It.IsAny <TestDto>())).Returns(test); //Act sut.SaveAsDraft(testDto); //Assert testsMock.Verify(x => x.Add(It.IsAny <Test>()), Times.Once); }
public void Change_InputProperty_WithThePassedValue() { // Arrange var testsRepository = new Mock <IEfRepository <Test> >(); var efData = new Mock <IEfData>(); var mapper = new Mock <IMappingProvider>(); var service = new TestsService(testsRepository.Object, efData.Object, mapper.Object); var testId = Guid.NewGuid(); var testFake = new Mock <Test>(); testsRepository.Setup(x => x.GetById(testId)).Returns(testFake.Object); string input = "someinput"; string output = "someoutput"; // Act service.Update(testId, input, output); // Assert Assert.AreEqual(testFake.Object.Input, input); Assert.AreEqual(testFake.Object.Output, output); }
public CreateTestModel(List <Test> systemTests, Test test, TestsService Tservice) { testsService = Tservice; this.SystemTests = systemTests; Test = testsService.GetTest().ToList()[0]; // THIS IS WRONG, BUT DONE TO FIX TEMPORARY ERROR }
public void UpdateExistingQuestionsAndAddNewOnesWithoutAffectingTheOldOnesSuccessfully_WhenValidTestDtoIsProvided() { //Arrange var mapperMock = new Mock <IMappingProvider>(); var saverMock = new Mock <ISaver>(); var testsMock = new Mock <IRepository <Test> >(); var questionsMock = new Mock <IRepository <Question> >(); var answersMock = new Mock <IRepository <Answer> >(); var userTestsMock = new Mock <IRepository <UserTest> >(); var sut = new TestsService(saverMock.Object, mapperMock.Object, testsMock.Object, questionsMock.Object, answersMock.Object, userTestsMock.Object); var testDto = new TestDto() { Id = 1, Questions = new List <QuestionDto>() { new QuestionDto() { Id = 123, Content = "New content of already added question", Answers = new List <AnswerDto>() { new AnswerDto() { Id = 321, IsDeleted = true, Content = "New content of already added answer", IsCorrect = true } } }, new QuestionDto() { Id = 2, Content = "Content of newly added question", Answers = new List <AnswerDto>() { new AnswerDto() { Id = 2, IsDeleted = true, Content = "Content of newly added answer", IsCorrect = true } } } } }; var testToEdit = new List <Test>() { new Test { Id = 1 } }; var questionsToEdit = new List <Question>() { new Question { Id = 123, Content = "Old content", TestId = 1 } }; var answerToEdit = new List <Answer>() { new Answer() { Id = 321, QuestionId = 123, Content = "Old content", IsCorrect = false } }; testsMock.Setup(x => x.All).Returns(testToEdit.AsQueryable); questionsMock.Setup(x => x.All).Returns(questionsToEdit.AsQueryable); answersMock.Setup(x => x.All).Returns(answerToEdit.AsQueryable); //Act sut.Edit(testDto); //Assert Assert.IsTrue(testDto.Questions.First().Content == testToEdit[0].Questions.First().Content); Assert.IsTrue(testToEdit[0].Questions.Count == 2); Assert.IsTrue(testToEdit[0].Questions.ElementAt(0).Content == "New content of already added question" && testToEdit[0].Questions.ElementAt(1).Content == "Content of newly added question"); }