public async Task EditAsync_WithCorrectData_ShouldSuccessfullyEdit() { var errorMessagePrefix = "RecipeService EditAsync() method does not work properly."; // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var seeder = new RoomsServiceTestsSeeder(); await seeder.SeedDataForEditAsyncMethodAsync(context); var roomRepository = new EfDeletableEntityRepository <Room>(context); var roomTypesRepository = new EfDeletableEntityRepository <RoomType>(context); var roomsService = this.GetRoomsService(roomRepository, roomTypesRepository, context); var room = context.Rooms.First(); var editModel = new EditRoomViewModel { Id = room.Id, RoomNumber = "Test-Edited", RoomTypeId = roomTypesRepository.All().Skip(1).Take(1).Select(x => x.Id).FirstOrDefault(), Description = "TestDescription-Edited", }; // Act await roomsService.EditAsync(editModel); var actualResult = roomRepository.All().First(); var expectedResult = editModel; // Assert Assert.True(expectedResult.RoomNumber == actualResult.RoomNumber, errorMessagePrefix + " " + "RoomNumer is not returned properly."); Assert.True(expectedResult.Description == actualResult.Description, errorMessagePrefix + " " + "Description are not returned properly."); Assert.True(expectedResult.RoomTypeId == actualResult.RoomTypeId, errorMessagePrefix + " " + "RoomTypeId is not returned properly."); }
public async Task EditAsync_WithNonExisterntId_ShouldThrowArgumentNullException() { // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var seeder = new RoomsServiceTestsSeeder(); await seeder.SeedDataForEditAsyncMethodAsync(context); var roomsRepository = new EfDeletableEntityRepository <Room>(context); var roomTypesRepository = new EfDeletableEntityRepository <RoomType>(context); var roomsService = this.GetRoomsService(roomsRepository, roomTypesRepository, context); var nonExistentId = Guid.NewGuid().ToString(); var editModel = new EditRoomViewModel { Id = nonExistentId, RoomNumber = "Test-Edited", RoomTypeId = roomTypesRepository.All().First().Id, Description = "TestDescription-Edited", }; // Act // Assert await Assert.ThrowsAsync <ArgumentNullException>(async() => { await roomsService.EditAsync(editModel); }); }
public async Task EditAsync_WithIncorrectProperty_ShouldThrowArgumentNullException() { // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var seeder = new RoomsServiceTestsSeeder(); await seeder.SeedDataForEditAsyncMethodAsync(context); var roomsRepository = new EfDeletableEntityRepository <Room>(context); var roomTypesRepository = new EfDeletableEntityRepository <RoomType>(context); var roomsService = this.GetRoomsService(roomsRepository, roomTypesRepository, context); var room = context.Rooms.First(); var model = new EditRoomViewModel { Id = room.Id, RoomNumber = null, RoomTypeId = roomTypesRepository.All().Skip(1).Take(1).Select(x => x.Id).FirstOrDefault(), Description = "TestDescription-Edited", }; // Act // Assert await Assert.ThrowsAsync <ArgumentNullException>(async() => { await roomsService.EditAsync(model); }); }
public async Task EditAsync_WithCorrectData_ShouldReturnCorrectResult() { var errorMessagePrefix = "RoomsService EditAsync() method does not work properly."; // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var seeder = new RoomsServiceTestsSeeder(); await seeder.SeedDataForEditAsyncMethodAsync(context); var roomsRepository = new EfDeletableEntityRepository <Room>(context); var roomTypesRepository = new EfDeletableEntityRepository <RoomType>(context); var roomsService = this.GetRoomsService(roomsRepository, roomTypesRepository, context); var room = context.Rooms.First(); var model = new EditRoomViewModel { Id = room.Id, RoomNumber = "Test-Edited", RoomTypeId = roomTypesRepository.All().Skip(1).Take(1).Select(x => x.Id).FirstOrDefault(), Description = "TestDescription-Edited", }; // Act var result = await roomsService.EditAsync(model); // Assert Assert.True(result, errorMessagePrefix + " " + "Returns false."); }