Exemple #1
0
        public void Index_get_correct_ParticipationInOlympiads_list()
        {
            //Arrange
            IEnumerable <ParticipationInOlympiad> participationInOlympiad = new List <ParticipationInOlympiad>
            {
                new ParticipationInOlympiad(),
                new ParticipationInOlympiad(),
                new ParticipationInOlympiad()
            };

            _queryBuilder
            .For <Task <IEnumerable <ParticipationInOlympiad> > >()
            .With(Arg.Is <GetAllParticipationInOlympiadCriterion>(p => p.EntrantId == EntrantId))
            .Returns(Task.FromResult(participationInOlympiad));

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

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

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

            //Assert
            Assert.AreEqual(participationInOlympiad, result.Model);
        }
Exemple #2
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);
        }
Exemple #3
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);
        }
Exemple #4
0
        public void Create_get_method_return_all_olympiads()
        {
            IEnumerable <Olympiad> olympiads = new List <Olympiad>
            {
                new Olympiad {
                    Id = 1, Name = "o1"
                },
                new Olympiad {
                    Id = 2, Name = "o2"
                },
                new Olympiad {
                    Id = 3, Name = "o3"
                },
                new Olympiad {
                    Id = 4, Name = "o4"
                }
            };

            //Arrange
            _queryBuilder
            .For <Task <IEnumerable <Olympiad> > >()
            .With(Arg.Any <GetAllOlympiadsCriterion>())
            .Returns(Task.FromResult(olympiads));

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

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

            task.Wait();
            var result = ((ViewResult)task.Result).ViewBag.OlympiadId as SelectList;

            //Assert
            Assert.AreEqual(olympiads, result.Items);
        }
Exemple #5
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);
        }