Пример #1
0
        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.");
        }
Пример #2
0
        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);
            });
        }
Пример #3
0
        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.");
        }