public void ProjectionService_DeleteByAuditoriumId_ReservationServiceReturnsNull_ReturnsNull()
        {
            // Arrange

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

            projectionsModelsListForGet.Add(_projection);
            _mockProjectionsRepository.Setup(x => x.GetByAuditoriumId(It.IsAny <int>())).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.DeleteByAuditoriumId(It.IsAny <int>())).Returns(responseTask);

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

            // Assert

            Assert.IsNull(resultAction);
        }
        public void ProjectionService_DeleteByAuditoriumId_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;

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

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

            _mockProjectionsRepository.Setup(x => x.GetByAuditoriumId(It.IsAny <int>())).Returns(projections);
            _mockProjectionsRepository.Setup(x => x.Delete(It.IsAny <Guid>())).Returns(_projection);
            _mockReservationService.Setup(x => x.DeleteByProjectionId(It.IsAny <Guid>())).Returns(reservationResponseTask);

            //Act
            var resultAction = projectionsService.DeleteByAuditoriumId(_projection.AuditoriumId).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_DeleteByAuditoriumId_ProjectionRepositoryReturnsNull_ReturnsNull()
        {
            List <Projection> projectionsModelsList = new List <Projection>();

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

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

            Projection projection = null;

            _mockProjectionsRepository.Setup(x => x.GetByAuditoriumId(It.IsAny <int>())).Returns(projections);
            _mockProjectionsRepository.Setup(x => x.Delete(It.IsAny <int>())).Returns(projection);

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

            //Assert
            Assert.IsNull(resultAction);
        }