public async Task EditAsync_WithCorrectData_ShouldReturnCorrectResult() { var errorMessage = "ReservationStatusesService EditAsync() method does not work properly."; // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var reservationStatusRepository = new EfDeletableEntityRepository <ReservationStatus>(context); var reservationStatusesService = this.GetReservationStatusesService(reservationStatusRepository, context); var seeder = new ReservationStatusesServiceTestsSeeder(); await seeder.SeedReservationStatusAsync(context); var reservationStatus = context.ReservationStatuses.First(); var model = new EditReservationStatusViewModel { Id = reservationStatus.Id, Name = "Test-1-Edited", }; // Act var result = await reservationStatusesService.EditAsync(model); // Assert Assert.True(result, errorMessage + " " + "Returns false."); }
public async Task GetViewModelByIdAsync_WithExistentId_ShouldReturnCorrectResult() { var errorMessagePrefix = "ReservationStatusesService GetViewModelByIdAsync() method does not work properly."; // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var reservationStatusRepository = new EfDeletableEntityRepository <ReservationStatus>(context); var reservationStatusesService = this.GetReservationStatusesService(reservationStatusRepository, context); var seeder = new ReservationStatusesServiceTestsSeeder(); await seeder.SeedReservationStatusesAsync(context); var reservationStatusId = reservationStatusRepository.All().First().Id; // Act var actualResult = await reservationStatusesService.GetViewModelByIdAsync <EditReservationStatusViewModel>(reservationStatusId); var expectedResult = new EditReservationStatusViewModel { Id = reservationStatusId, Name = reservationStatusRepository.All().First().Name, }; // Assert Assert.True(expectedResult.Id == actualResult.Id, errorMessagePrefix + " " + "Id is not returned properly."); Assert.True(expectedResult.Name == actualResult.Name, errorMessagePrefix + " " + "Name is not returned properly."); }
public async Task EditAsync_WithCorrectData_ShouldSuccessfullyEdit() { var errorMessagePrefix = "ReservationStatusesService EditAsync() method does not work properly."; // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var reservationStatusRepository = new EfDeletableEntityRepository <ReservationStatus>(context); var reservationStatusesService = this.GetReservationStatusesService(reservationStatusRepository, context); var seeder = new ReservationStatusesServiceTestsSeeder(); await seeder.SeedReservationStatusAsync(context); var reservationStatus = context.ReservationStatuses.First(); var model = new EditReservationStatusViewModel { Id = reservationStatus.Id, Name = "Test-1-Edited", }; // Act await reservationStatusesService.EditAsync(model); var actualResult = reservationStatusRepository.All().First(); var expectedResult = model; // Assert Assert.True(expectedResult.Name == actualResult.Name, errorMessagePrefix + " " + "Name is not returned properly."); }
public async Task EditAsync_WithIncorrectProperty_ShouldThrowArgumentNullException() { // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var reservationStatusRepository = new EfDeletableEntityRepository <ReservationStatus>(context); var reservationStatusesService = this.GetReservationStatusesService(reservationStatusRepository, context); var seeder = new ReservationStatusesServiceTestsSeeder(); await seeder.SeedReservationStatusAsync(context); var reservationStatus = context.ReservationStatuses.First(); var model = new EditReservationStatusViewModel { Id = reservationStatus.Id, Name = null, }; // Act // Assert await Assert.ThrowsAsync <ArgumentNullException>(async() => { await reservationStatusesService.EditAsync(model); }); }
public async Task <bool> EditAsync(EditReservationStatusViewModel reservationStatusEditViewModel) { var reservationStatus = this.reservationStatusesRepository.All().FirstOrDefault(r => r.Id == reservationStatusEditViewModel.Id); if (reservationStatus == null) { throw new ArgumentNullException(string.Format(string.Format(ServicesDataConstants.InvalidReservationStatusIdErrorMessage, reservationStatusEditViewModel.Id))); } if (reservationStatusEditViewModel.Name == null) { throw new ArgumentNullException(string.Format(ServicesDataConstants.InvalidPropertyNameErrorMessage)); } reservationStatus.Name = reservationStatusEditViewModel.Name; this.reservationStatusesRepository.Update(reservationStatus); var result = await this.reservationStatusesRepository.SaveChangesAsync(); return(result > 0); }
public async Task EditAsync_WithNonExistentId_ShouldThrowArgumentNullException() { // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var reservationStatusRepository = new EfDeletableEntityRepository <ReservationStatus>(context); var reservationStatusesService = this.GetReservationStatusesService(reservationStatusRepository, context); var nonExistentId = Guid.NewGuid().ToString(); var model = new EditReservationStatusViewModel { Id = nonExistentId, Name = "Test-1-Edited", }; // Act // Assert await Assert.ThrowsAsync <ArgumentNullException>(async() => { await reservationStatusesService.EditAsync(model); }); }