示例#1
0
        public void Details_return_correct_ParticipationInOlympiads_if_id_is_correct()
        {
            const int partInOlympId     = 22;
            var       partInOlympResult = new ParticipationInOlympiad();

            //Arrange
            _queryBuilder
            .For <Task <ParticipationInOlympiad> >()
            .With(
                Arg.Is <GetCurrentParticipationInOlympiadCriterion>(
                    p => p.EntrantId == EntrantId && p.ParticipationInOlympiadId == partInOlympId))
            .Returns(Task.FromResult(partInOlympResult));

            //Act
            var controller = new OlympiadController(_queryBuilder, _commandBuilder, _infoExtractor);

            controller.ControllerContext =
                new ControllerContext(_requestContext, controller);
            var task = controller.Details(partInOlympId);

            task.Wait();
            var result = ((ViewResult)task.Result).Model;

            //Assert
            Assert.IsTrue(result == partInOlympResult);
        }
示例#2
0
        public void Details_return_HttpStatusCodeBadRequest_if_id_is_null()
        {
            //Act
            var controller = new OlympiadController(_queryBuilder, _commandBuilder, _infoExtractor);

            controller.ControllerContext =
                new ControllerContext(_requestContext, controller);
            var task = controller.Details(null);

            task.Wait();
            var result = ((HttpStatusCodeResult)task.Result);

            //Assert
            Assert.IsTrue(result.StatusCode == (int)HttpStatusCode.BadRequest);
        }
示例#3
0
        public void Details_return_HttpNotFound_if_not_found_element_in_out_collections()
        {
            const int partInOlympId = 23;

            //Arrange
            _queryBuilder
            .For <Task <ParticipationInOlympiad> >()
            .With(
                Arg.Is <GetCurrentParticipationInOlympiadCriterion>(
                    p => p.EntrantId == EntrantId && p.ParticipationInOlympiadId == partInOlympId))
            .Returns(Task.FromResult <ParticipationInOlympiad>(null));

            //Act
            var controller = new OlympiadController(_queryBuilder, _commandBuilder, _infoExtractor);

            controller.ControllerContext =
                new ControllerContext(_requestContext, controller);
            var task = controller.Details(partInOlympId);

            task.Wait();

            //Assert
            Assert.IsTrue(task.Result is HttpNotFoundResult);
        }