public void Arrange() { _reservationEntity = new Reservation { Id = Guid.NewGuid(), Status = 1, ConfirmedDate = DateTime.UtcNow, CohortId = 1, DraftApprenticeshipId = 1 }; _dbContextTransaction = new Mock <IDbContextTransaction>(); _dbContext = new Mock <DbContext>(); _dataContext = new Mock <IReservationsDataContext>(); _dataFacade = new Mock <DatabaseFacade>(_dbContext.Object); _dataFacade.Setup(x => x.BeginTransaction()).Returns(_dbContextTransaction.Object); _dataContext.Setup(x => x.Reservations).ReturnsDbSet(new List <Reservation> { _reservationEntity }); _dataContext.Setup(x => x.Reservations.FindAsync(_reservationEntity.Id)) .ReturnsAsync(_reservationEntity); _dataContext.Setup(x => x.Database) .Returns(_dataFacade.Object); _reservationRepository = new Data.Repository.ReservationRepository(_dataContext.Object); }
public async Task <Reservation> CreateAccountReservation(Reservation reservation) { var reservationResult = await _reservationsDataContext.Reservations.AddAsync(reservation); _reservationsDataContext.SaveChanges(); return(reservationResult.Entity); }
public void Then_If_The_Reservation_Status_Being_Changed_To_Pending_When_It_Is_Not_Confirmed_And_Has_No_Audit_Values_An_Exception_Is_Thrown(ReservationStatus status) { var reservationId = Guid.NewGuid(); _reservationEntity = new Reservation { Id = reservationId, IsLevyAccount = false, Status = (short)status }; _dataContext.Setup(x => x.Reservations.FindAsync(_reservationEntity.Id)).ReturnsAsync(_reservationEntity); Assert.ThrowsAsync <DbUpdateException>(() => _reservationRepository.Update(reservationId, ReservationStatus.Pending)); _dataContext.Verify(x => x.SaveChanges(), Times.Never); }
public async Task Then_The_Reservation_Status_Check_Is_Ignored_For_Levy_Reservations(ReservationStatus status) { var reservationId = Guid.NewGuid(); _reservationEntity = new Reservation { Id = reservationId, IsLevyAccount = true, Status = (short)status }; _dataContext.Setup(x => x.Reservations.FindAsync(_reservationEntity.Id)).ReturnsAsync(_reservationEntity); await _reservationRepository.Update(reservationId, ReservationStatus.Pending); _dataContext.Verify(x => x.SaveChanges(), Times.Once); }
public async Task ThenShouldReturnReservation_WithNonLevyPropertiesSet( Guid reservationId, Reservation reservation, [Frozen] Mock <IReservationRepository> repository, ReservationService service ) { // Arrange repository .Setup(x => x.GetReservationById(It.IsAny <Guid>())) .ReturnsAsync(reservation); //Act var result = await service.GetReservation(reservationId); //Assert result.CourseName.Should().Be(reservation.Course.Title); result.CourseLevel.Should().Be(reservation.Course.Level); }
public async Task ThenIfNoReservationFoundForAGivenIdReturnNull( Guid reservationId, [Frozen] Mock <IReservationRepository> repository, [Frozen] Mock <ILogger> logger, ReservationService service) { //Arrange Reservation reservation = null; repository .Setup(x => x.GetReservationById(It.IsAny <Guid>())) .ReturnsAsync(reservation); //Act var result = await service.GetReservation(reservationId); //Assert Assert.IsNull(result); }
private static IndexedReservation MapReservation(Reservation entity, uint indexedProviderId) { return(new IndexedReservation { IndexedProviderId = indexedProviderId, ReservationId = entity.Id, AccountId = entity.AccountId, IsLevyAccount = entity.IsLevyAccount, CreatedDate = entity.CreatedDate, StartDate = entity.StartDate, ExpiryDate = entity.ExpiryDate, Status = entity.Status, CourseId = entity.CourseId, CourseTitle = entity.Course?.Title, CourseLevel = entity.Course?.Level, AccountLegalEntityId = entity.AccountLegalEntityId, ProviderId = entity.ProviderId, AccountLegalEntityName = entity.AccountLegalEntityName, TransferSenderAccountId = entity.TransferSenderAccountId, UserId = entity.UserId }); }
private void UnsetUnusedLevyReservationProperties(Reservation reservation) { reservation.Course = null; reservation.CourseId = null; }