public void ProjectionService_DeleteByAuditoriumMovieId_ReservationServiceReturnsNull_ReturnsNull()
        {
            // Arrange

            List <Projection> projectionsModelsListForGet = new List <Projection>();

            projectionsModelsListForGet.Add(_projection);
            _mockProjectionsRepository.Setup(x => x.GetByAuditoriumIdMovieId(It.IsAny <int>(), It.IsAny <Guid>())).Returns(projectionsModelsListForGet);

            List <ReservationDomainModel> reservationModelsList = new List <ReservationDomainModel>();

            reservationModelsList.Add(_reservationDomainModel);
            IEnumerable <ReservationDomainModel>         reservations            = null;
            Task <IEnumerable <ReservationDomainModel> > reservationResponseTask = Task.FromResult(reservations);

            _mockReservationService.Setup(x => x.DeleteByProjectionId(It.IsAny <Guid>())).Returns(reservationResponseTask);

            ProjectionService projectionsService = new ProjectionService(_mockProjectionsRepository.Object, _mockReservationService.Object);

            List <Projection> projectionsModelsList = new List <Projection>();

            projectionsModelsList.Add(_projection);
            IEnumerable <Projection>         projections  = projectionsModelsList;
            Task <IEnumerable <Projection> > responseTask = Task.FromResult(projections);

            _mockProjectionsRepository.Setup(x => x.DeleteByAuditoriumIdMovieId(It.IsAny <int>(), It.IsAny <Guid>())).Returns(responseTask);

            //Act
            var resultAction = projectionsService.DeleteByAuditoriumIdMovieId(_projection.AuditoriumId, _projection.MovieId).ConfigureAwait(false).GetAwaiter().GetResult();

            // Assert

            Assert.IsNull(resultAction);
        }
        public void ProjectionService_DeleteByAuditoriumMovieId_ReturnsProjectionDomainModelList()
        {
            //Arrange

            int expectedCount = 1;
            ProjectionService projectionsService = new ProjectionService(_mockProjectionsRepository.Object, _mockReservationService.Object);

            List <Projection> projectionsModelsList = new List <Projection>();

            projectionsModelsList.Add(_projection);
            IEnumerable <Projection>         projections  = projectionsModelsList;
            Task <IEnumerable <Projection> > responseTask = Task.FromResult(projections);

            _mockProjectionsRepository.Setup(x => x.DeleteByAuditoriumIdMovieId(It.IsAny <int>(), It.IsAny <Guid>())).Returns(responseTask);
            _mockProjectionsRepository.Setup(x => x.Save());

            //Act
            var resultAction = projectionsService.DeleteByAuditoriumIdMovieId(_projection.AuditoriumId, _projection.MovieId).ConfigureAwait(false).GetAwaiter().GetResult().ToList();

            //Assert

            Assert.IsNotNull(resultAction);
            Assert.AreEqual(resultAction.Count, expectedCount);
            Assert.IsInstanceOfType(resultAction[0], typeof(ProjectionDomainModel));
            Assert.AreEqual(resultAction[0].Id, _projection.Id);
        }
        public void ProjectionService_DeleteByAuditoriumMovieId_ProjectionRepositoryReturnsNull_ReturnsNull()
        {
            ProjectionService projectionsService = new ProjectionService(_mockProjectionsRepository.Object, _mockReservationService.Object);

            IEnumerable <Projection>         projections  = null;
            Task <IEnumerable <Projection> > responseTask = Task.FromResult(projections);

            _mockProjectionsRepository.Setup(x => x.DeleteByAuditoriumIdMovieId(It.IsAny <int>(), It.IsAny <Guid>())).Returns(responseTask);

            //Act
            var resultAction = projectionsService.DeleteByAuditoriumIdMovieId(_projection.AuditoriumId, _projection.MovieId).ConfigureAwait(false).GetAwaiter().GetResult();

            //Assert
            Assert.IsNull(resultAction);
        }