public async Task AddAsync_WithCorrectData_ShouldSuccessfullyCreate() { var errorMessage = "RoomsService AddRoomAsync() method does not work properly."; // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var seeder = new RoomsServiceTestsSeeder(); await seeder.SeedDataForAddAsyncMethodAsync(context); var roomRepository = new EfDeletableEntityRepository <Room>(context); var roomTypeRepository = new EfDeletableEntityRepository <RoomType>(context); var roomsService = this.GetRoomsService(roomRepository, roomTypeRepository, context); var roomModel = new Room { RoomNumber = "Test-1", RoomTypeId = context.RoomTypes.First().Id, Description = "TestDescription", }; // Act await roomsService.AddRoomAsync(roomModel); var actualResult = roomRepository.All().First(); var expectedResult = roomModel; // Assert Assert.True(expectedResult.RoomNumber == actualResult.RoomNumber, errorMessage + " " + "RoomNumer is not returned properly."); Assert.True(expectedResult.Description == actualResult.Description, errorMessage + " " + "Description are not returned properly."); Assert.True(expectedResult.RoomTypeId == actualResult.RoomTypeId, errorMessage + " " + "RoomTypeId is not returned properly."); Assert.True(actualResult.RoomTypeId == context.RoomTypes.First().Id, errorMessage + " " + "RoomTypeId is not set properly."); }
public async Task AddAsync_WithIncorrectProperty_ShouldThrowArgumentNullException() { // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var seeder = new RoomsServiceTestsSeeder(); await seeder.SeedDataForAddAsyncMethodAsync(context); var roomRepository = new EfDeletableEntityRepository <Room>(context); var roomTypeRepository = new EfDeletableEntityRepository <RoomType>(context); var roomsService = this.GetRoomsService(roomRepository, roomTypeRepository, context); var roomModel = new Room { RoomNumber = null, RoomType = null, Description = "TestDescription", }; // Act // Assert await Assert.ThrowsAsync <ArgumentNullException>(async() => { await roomsService.AddRoomAsync(roomModel); }); }
public async Task CreateAsync_WithCorrectData_ShouldReturnCorrectResult() { var errorMessagePrefix = "RoomsService AddRoomAsync() method does not work properly."; // Arrange MapperInitializer.InitializeMapper(); var context = HotelDbContextInMemoryFactory.InitializeContext(); var seeder = new RoomsServiceTestsSeeder(); await seeder.SeedDataForAddAsyncMethodAsync(context); var roomRepository = new EfDeletableEntityRepository <Room>(context); var roomTypeRepository = new EfDeletableEntityRepository <RoomType>(context); var roomsService = this.GetRoomsService(roomRepository, roomTypeRepository, context); var roomModel = new Room { RoomNumber = "Test-1", RoomTypeId = context.RoomTypes.First().Id, Description = "TestDescription", }; // Act var result = await roomsService.AddRoomAsync(roomModel); // Assert Assert.True(result, errorMessagePrefix + " " + "Returns false."); }