Beispiel #1
0
        public async System.Threading.Tasks.Task QuestionnairesByStudentGetSuccesfull()
        {
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetQByStudents");
            var q1      = new Questionnaire()
            {
                Id = 3, StudentId = 0, ClassId = 0
            };
            var q2 = new Questionnaire()
            {
                Id = 1, StudentId = 1, ClassId = 0
            };
            var q3 = new Questionnaire()
            {
                Id = 2, StudentId = 1, ClassId = 1
            };
            var correctData = new List <Questionnaire>
            {
                q2, q3
            };

            context.Questionnaires.Add(q1);
            context.Questionnaires.Add(q2);
            context.Questionnaires.Add(q3);
            context.SaveChanges();
            var qController = new QuestionnaireController(context);
            //Act
            var result = await qController.GetQuestionnairesByStudent(new QuestionnaireController.QuestionnaireIdentityArgs {
                ClassId = 0, StudentId = 1
            });

            var resValue = result.Value;

            //Assert
            Assert.Equal(correctData, resValue);
        }
Beispiel #2
0
 public QuestionnaireControllerTests()
 {
     #warning hard-coded behaviours of entities in the database
     repository = new QuestionnaireRepository(null);
     service    = new QuestionnaireService(repository);
     controller = new QuestionnaireController(service);
 }
Beispiel #3
0
        public async System.Threading.Tasks.Task QuestionnaireGetSuccesfull()
        {
            //Arrange
            var context = TestingUtilities.CreateInMemoryDatabaseContext("TestDatabaseGetQ");
            var data    = new List <Questionnaire>
            {
                new Questionnaire()
                {
                    Id = 0, StudentId = 0, ClassId = 0
                },
                new Questionnaire()
                {
                    Id = 1, StudentId = 1, ClassId = 0
                }
            };

            context.Questionnaires.Add(data[0]);
            context.SaveChanges();
            var qController = new QuestionnaireController(context);
            //Act
            var result = await qController.GetQuestionnaire(new QuestionnaireController.QuestionnaireIdentityArgs {
                ClassId = 0, StudentId = 0
            });

            var resValue  = result.Value;
            var resResult = result.Result;

            //Assert
            Assert.Equal(data.First(), resValue);
        }
Beispiel #4
0
        public async System.Threading.Tasks.Task QuestionnaireGetNotFound()
        {
            //Arrange
            var mockDbContext     = new Mock <IntegratedCourseSystemContext>();
            var questionnaireList = new List <Questionnaire> {
                new Questionnaire()
                {
                    Id = 0, StudentId = 0, ClassId = 0
                },
                new Questionnaire()
                {
                    Id = 1, StudentId = 1, ClassId = 0
                }
            };

            mockDbContext.Setup(x => x.Questionnaires).Returns(DbContextMock.GetQueryableMockDbSet(questionnaireList));
            var qController = new QuestionnaireController(mockDbContext.Object);
            //Act
            var result = await qController.GetQuestionnaire(new QuestionnaireController.QuestionnaireIdentityArgs {
                ClassId = 3, StudentId = 0
            });

            //Assert
            Assert.IsType <NotFoundResult>(result.Result);
        }
Beispiel #5
0
        public void ShouldFailSubmitQuestions_WrongId()
        {
            //Arrange
            var questionnaireController = new QuestionnaireController(new QuestionServiceClient(new HttpClientHandler()));
            QuestionnaireViewModel vm   = new QuestionnaireViewModel
            {
                Id = 0,
                QuestionnaireTitle = "Geography Questions",
                Questions          = new List <QuestionViewModel>
                {
                    new QuestionViewModel()
                    {
                        Id = 1, Title = "What is the capital of Cuba?"
                    },
                    new QuestionViewModel()
                    {
                        Id = 2, Title = "What is the capital of France?"
                    },
                    new QuestionViewModel()
                    {
                        Id = 3, Title = "What is the capital of Poland?"
                    },
                    new QuestionViewModel()
                    {
                        Id = 4, Title = "What is the capital of Germany?"
                    }
                }
            };
            //Act
            var result = (bool)questionnaireController.Submit(vm).Result.ViewData.Model;

            //Assert
            Assert.IsFalse(result);
        }
Beispiel #6
0
        public void ShouldGetQuestions()
        {
            //Arrange
            var expectedTitle           = "My expected questions";
            var mockedHttpClientWrapper = new Mock <IHttpClientWrapper>();
            var questions = new List <string>()
            {
                "Question 1", "Question 2"
            };
            var questionnaire = new Questionnaire
            {
                QuestionnaireTitle = expectedTitle,
                QuestionsText      = questions
            };
            var serialisedQuestionnaire = new JavaScriptSerializer().Serialize(questionnaire);

            mockedHttpClientWrapper.Setup(client => client.Get(It.IsAny <string>())).Returns(serialisedQuestionnaire);

            var questionnaireController = new QuestionnaireController(mockedHttpClientWrapper.Object);

            //Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().ViewData.Model;

            //Assert
            Assert.That(result.QuestionnaireTitle, Is.EqualTo(expectedTitle));
            Assert.That(result.QuestionsText.Count, Is.EqualTo(2));
            Assert.That(result.QuestionsText[0], Is.EqualTo(questions[0]));
            Assert.That(result.QuestionsText[1], Is.EqualTo(questions[1]));
        }
        public void Setup()
        {
            _mapper  = new Mock <IMapper>();
            _service = new Mock <IQuestionnaireService>();

            _controller = new QuestionnaireController(_service.Object, _mapper.Object);
        }
        public async Task ShouldGetQuestions()
        {
            //Arrange

            string expectedTitle         = "My expected questions";
            string expectedQuestion1Text = "Question 1 Text";
            string expectedQuestion2Text = "Question 2 Text";
            string expectedQuestion3Text = "Question 3 Text";
            string expectedQuestion4Text = "Question 4 Text";

            QuestionnaireViewModel expectedQuestions = new QuestionnaireViewModel
            {
                QuestionnaireTitle = expectedTitle,
                Questions          = new List <QuestionnaireViewModel.QuestionViewModel>
                {
                    new QuestionnaireViewModel.QuestionViewModel {
                        Question = expectedQuestion1Text
                    },
                    new QuestionnaireViewModel.QuestionViewModel {
                        Question = expectedQuestion2Text
                    },
                    new QuestionnaireViewModel.QuestionViewModel {
                        Question = expectedQuestion3Text
                    },
                    new QuestionnaireViewModel.QuestionViewModel {
                        Question = expectedQuestion4Text
                    }
                }
            };

            IQuestionService questionService = Mock.Of <IQuestionService>();

            Mock.Get(questionService).Setup(s => s.Get()).Returns(Task.FromResult(expectedQuestions));

            QuestionnaireController questionnaireController = new QuestionnaireController(questionService);


            //Act

            ActionResult actionResult = await questionnaireController.Index();


            //Assert

            Assert.IsInstanceOf <ViewResult>(actionResult);
            Assert.IsNotNull((actionResult as ViewResult).ViewData.Model);
            Assert.IsInstanceOf <QuestionnaireViewModel>((actionResult as ViewResult).ViewData.Model);

            QuestionnaireViewModel model = (actionResult as ViewResult).ViewData.Model as QuestionnaireViewModel;

            Assert.That(model.QuestionnaireTitle, Is.EqualTo(expectedTitle));
            Assert.That(model.Questions.Count, Is.EqualTo(expectedQuestions.Questions.Count));

            Assert.That(model.Questions[0].Question, Is.EqualTo(expectedQuestion1Text));
            Assert.That(model.Questions[1].Question, Is.EqualTo(expectedQuestion2Text));
            Assert.That(model.Questions[2].Question, Is.EqualTo(expectedQuestion3Text));
            Assert.That(model.Questions[3].Question, Is.EqualTo(expectedQuestion4Text));
        }
Beispiel #9
0
        public Questions(int complexity)
        {
            WindowStartupLocation = WindowStartupLocation.CenterScreen;
            InitializeComponent();

            _controller        = new QuestionnaireController(complexity);
            _numberOfQuestions = _controller.GetNumberOfItems();

            SetNextFields();
        }
Beispiel #10
0
        public void ViewModelGetsQuestionnaireTitleFromExternalService()
        {
            // Arrange
            var questionnaireController = new QuestionnaireController(StubFactory.GetHttpClientContainer());

            // Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().Result.ViewData.Model;

            // Assert
            Assert.That(result.QuestionnaireTitle, Is.EqualTo("Test questionnaire title"));
        }
Beispiel #11
0
        public void Index()
        {
            // Arrange
            QuestionnaireController controller = new QuestionnaireController();

            // Act
            ViewResult result = controller.Index() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
        public void ShouldGetQuestions()
        {
            //Arrange
            var questionnaireController = new QuestionnaireController();

            //Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().ViewData.Model;

            //Assert
            Assert.IsTrue(result.QuestionsText.Count > 0);
        }
        public void ActionReturnTypeShouldBeQuestionnaireViewModel()
        {
            //Arrange

            var questionnaireController = new QuestionnaireController();

            //Act
            var typeOfIndexActionName = questionnaireController.Index().ViewData.Model.GetType().Name;

            //Assert -Check if return type is correct
            typeOfIndexActionName.Should().Be("QuestionnaireViewModel");
        }
        public void ShouldGetQuestionsAsync()
        {
            //Arrange

            var questionnaireController = new QuestionnaireController();

            //Act
            var responseModel = (QuestionnaireViewModel)questionnaireController.IndexAsync().Result.ViewData.Model;

            //Assert -Check if return type is correct
            responseModel.Questions.Should().NotBeNullOrEmpty();
        }
        public void TypesShouldMatchForIndexAsync()
        {
            //Arrange

            var questionnaireController = new QuestionnaireController();

            //Act
            var responseType = questionnaireController.IndexAsync().Result.ViewData.Model.GetType().Name;

            //Assert -Check if return type is correct
            responseType.Should().Be("QuestionnaireViewModel");
        }
        public void ShouldGetResponseView()
        {
            //Arrange
            _questionnaireServiceMock.Setup(x => x.GetQuestions()).ReturnsAsync(new QuestionnaireViewModel());
            var questionnaireController = new QuestionnaireController(_questionnaireServiceMock.Object);

            //Act
            var result = questionnaireController.Response(new QuestionnaireViewModel());

            //Assert
            Assert.That(result.ViewName, Is.EqualTo("Response"));
        }
Beispiel #17
0
        public void ShouldGetQuestionsTitle()
        {
            //Arrange
            var expectedTitle           = "Geography Questions";
            var questionnaireController = new QuestionnaireController();

            //Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().ViewData.Model;

            //Assert
            Assert.That(result.QuestionnaireTitle, Is.EqualTo(expectedTitle));
        }
Beispiel #18
0
        public void ShouldGetQuestions()
        {
            //Arrange
            var expectedTitle           = "Geography Questions";
            var questionnaireController = new QuestionnaireController(new QuestionServiceClient(new HttpClientHandler()));

            //Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().Result.ViewData.Model;

            //Assert
            Assert.AreEqual <string>(expectedTitle, result.QuestionnaireTitle);
        }
Beispiel #19
0
        public void ErrorResponseInApiThrows503()
        {
            // Arrange
            var httpResponseMessage     = StubFactory.GetStatusCodeResponseMessage(HttpStatusCode.NotFound);
            var questionnaireController = new QuestionnaireController(StubFactory.GetHttpClientContainer(httpResponseMessage));

            // Act
            var result = (ErrorViewModel)questionnaireController.Index().Result.ViewData.Model;

            // Assert
            Assert.That(result.StatusCode, Is.EqualTo(HttpStatusCode.ServiceUnavailable));
            Assert.That(result.Message, Is.EqualTo("An underlying service is now unavailable. Please try again later."));
        }
Beispiel #20
0
        public void ShouldGetQuestions()
        {
            //Arrange
            var expectedTitle           = "My expected questions";
            var questionnaireController = new QuestionnaireController();

            //Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().AsyncState;

            //Assert
            Assert.IsNotNull(result);
            Assert.That(result.QuestionnaireTitle, Is.EqualTo(expectedTitle));
        }
Beispiel #21
0
        public void QuestionShouldHaveCountGreaterThan0()
        {
            var questionnaireController = new QuestionnaireController();

            AddKey();

            //Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().ViewData.Model;

            //Assert

            Assert.That(result.QuestionsText.Count, Is.GreaterThan(0));
        }
Beispiel #22
0
        public void ViewModelGetsQuestionsFromExternalService()
        {
            // Arrange
            var questionnaireController = new QuestionnaireController(StubFactory.GetHttpClientContainer());

            // Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().Result.ViewData.Model;

            // Assert
            Assert.That(result.QuestionsText.Count, Is.EqualTo(2));
            Assert.That(result.QuestionsText[0], Is.EqualTo("Question 1"));
            Assert.That(result.QuestionsText[1], Is.EqualTo("Question 2"));
        }
        public void SaveAnswers()
        {
            // Arrange
            var controller = new QuestionnaireController(_service);

            // Act
            var result = controller.SaveAnswers(_data);

            // Assert
            var viewResult = Assert.IsType <OkObjectResult>(result);

            _ = Assert.IsAssignableFrom <BaseResponse <string> >(viewResult.Value);
        }
        public void ShouldGetQuestions()
        {
            //Arrange
            var expectedTitle           = _titleHeader;
            var questionnaireController = new QuestionnaireController();

            //Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().ViewData.Model;

            //Assert
            result.Should().NotBeNull();
            result.QuestionnaireTitle.ShouldBeEquivalentTo(expectedTitle);
        }
        public void GetQuestions()
        {
            // Arrange
            var controller = new QuestionnaireController(_service);

            // Act
            var result = controller.Get();

            // Assert
            var viewResult = Assert.IsType <OkObjectResult>(result);
            var model      = Assert.IsAssignableFrom <BaseResponse <IEnumerable <QuestionDTO> > >(viewResult.Value);

            Assert.Equal(model.Data, _data);
        }
Beispiel #26
0
        public void ShouldGetQuestions()
        {
            //Arrange
            var expectedTitle = "Geography Questions";
            var mock          = new Mock <IConfiguration>();

            mock.Setup(x => x.Url).Returns("http://localhost:50014/api/Questions");
            var questionnaireController = new QuestionnaireController(mock.Object);

            //Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().ViewData.Model;

            //Assert
            Assert.That(result.QuestionnaireTitle, Is.EqualTo(expectedTitle));
        }
Beispiel #27
0
        public void GetQuestionnairQuestions()
        {
            //Arrange
            var questionnaireController = new QuestionnaireController();

            //Act
            var result        = questionnaireController.Index().Result;
            var questionnaire = (QuestionnaireViewModel)result.ViewData.Model;

            //Assert
            Assert.That(questionnaire.QuestionsText[0], Is.EqualTo("What is the capital of Cuba?"));
            Assert.That(questionnaire.QuestionsText[1], Is.EqualTo("What is the capital of France?"));
            Assert.That(questionnaire.QuestionsText[2], Is.EqualTo("What is the capital of Poland?"));
            Assert.That(questionnaire.QuestionsText[3], Is.EqualTo("What is the capital of Germany?"));
        }
        public void IndexAsyncShouldHaveFourQuestionsAndOneTitle()
        {
            //Arrange

            var questionnaireController = new QuestionnaireController();

            //Act
            var returnedModel = (QuestionnaireViewModel)questionnaireController.IndexAsync().Result.ViewData.Model;

            //Assert -Check if return type is correct
            returnedModel.Questions.Should().NotBeNullOrEmpty();
            returnedModel.Questions.Count.ShouldBeEquivalentTo(4);
            returnedModel.QuestionnaireTitle.Should().NotBeNull();
            returnedModel.QuestionnaireTitle.Should().NotBeEmpty(); //this would fail if it was a list so title is only one entity
            returnedModel.QuestionnaireTitle.Should().BeOfType <string>();
        }
        public void ShouldGetRightOfQuestion()
        {
            //Arrange
            var expectedTitle     = "My expected quesitons";
            var expectedQuestions = new List <string> {
                "Question 1?"
            };
            var fakeQuestionnaireManager = new FakeQuestionnaireManager(expectedTitle, expectedQuestions);
            var questionnaireController  = new QuestionnaireController(fakeQuestionnaireManager);

            //Act
            var result = (QuestionnaireViewModel)questionnaireController.Index().ViewData.Model;

            //Assert
            Assert.That(result.QuestionsText, Is.EqualTo(expectedQuestions));
        }
Beispiel #30
0
        public void ShouldGetQuestions()
        {
            //Arrange
            var expectedTitle           = "Geography Questions";
            var questionnaireController = new QuestionnaireController();

            //Act
            var request = questionnaireController.Index();

            //Assert
            Assert.IsNotNull(request);
            var result = request as ViewResult;
            var model  = (QuestionnaireViewModel)result.ViewData.Model;

            Assert.That(model.QuestionnaireTitle, Is.EqualTo(expectedTitle));
        }