Example #1
0
        public async Task <ActionResult> Index(
            [FromServices] IGetAllTheatersService service)
        {
            IEnumerable <TheaterDto> theaters = await service.GetAllTheaters();

            return(View(TheaterViewModel.TranslateRange(theaters)));
        }
Example #2
0
        public async Task AddScreening_returns_ViewResult(
            TheaterDto[] theaters,
            IGetAllTheatersService serviceStub,
            Guid movieId,
            [NoAutoProperties] MoviesController sut)
        {
            Mock.Get(serviceStub)
            .Setup(x => x.GetAllTheaters())
            .ReturnsAsync(theaters);

            ActionResult actual = await sut.AddScreening(serviceStub, movieId);

            actual.Should().BeAssignableTo <ViewResult>();
        }
Example #3
0
 public async Task <ActionResult> AddScreening(
     [FromServices] IGetAllTheatersService service,
     [FromRoute] Guid movieId)
 {
     return(View(new AddScreeningViewModel
     {
         MovieId = movieId,
         Theaters = new List <SelectListItem>(
             from t in await service.GetAllTheaters()
             select new SelectListItem
         {
             Value = $"{t.Id}",
             Text = t.Name,
         }),
         ScreeningTime = DateTime.Today.AddDays(2),
     }));
 }
Example #4
0
        public async Task AddScreening_sets_model_correctly(
            TheaterDto[] theaters,
            IGetAllTheatersService serviceStub,
            Guid movieId,
            [NoAutoProperties] MoviesController sut)
        {
            // Arrange
            Mock.Get(serviceStub)
            .Setup(x => x.GetAllTheaters())
            .ReturnsAsync(theaters);

            // Act
            dynamic result = await sut.AddScreening(serviceStub, movieId);

            // Assert
            object actual = result.Model;

            actual.Should().BeOfType <AddScreeningViewModel>();
            actual.Should().BeEquivalentTo(new
            {
                MovieId     = movieId,
                TheaterId   = default(Guid),
                DefaultFee  = default(decimal),
                ChildrenFee = default(decimal),
            });
            DateTime screeningTime = ((dynamic)actual).ScreeningTime;

            screeningTime.Should().BeCloseTo(DateTime.Today.AddDays(2));
            actual.Should().BeEquivalentTo(new
            {
                Theaters = from t in theaters
                           select new SelectListItem
                {
                    Text  = t.Name,
                    Value = $"{t.Id}",
                },
            });
        }