Ejemplo n.º 1
0
        public async Task GetAllRooms_ShouldReturnCorrectCount()
        {
            // Arrange
            MapperInitializer.InitializeMapper();
            var context = HotelDbContextInMemoryFactory.InitializeContext();
            var seeder  = new RoomsServiceTestsSeeder();
            await seeder.SeedRoomAsync(context);

            var roomsRepository     = new EfDeletableEntityRepository <Room>(context);
            var roomTypesRepository = new EfDeletableEntityRepository <RoomType>(context);
            var roomsService        = this.GetRoomsService(roomsRepository, roomTypesRepository, context);

            // Act
            var actualResult   = roomsService.GetAllRooms <AvailableRoomViewModel>().ToList();
            var expectedResult = new AvailableRoomViewModel[]
            {
                new AvailableRoomViewModel
                {
                    Id          = roomsRepository.All().First().Id,
                    RoomNumber  = "Test-1",
                    Description = "TestDescription",
                },
            };

            Assert.Equal(expectedResult.Length, actualResult.Count());
        }
Ejemplo n.º 2
0
        public async Task GetRoomByIdAsync_WithExistentId_ShouldReturnCorrectResult()
        {
            var errorMessagePrefix = "RoomService GetByIdAsync() method does not work properly.";

            // Arrange
            MapperInitializer.InitializeMapper();
            var context = HotelDbContextInMemoryFactory.InitializeContext();
            var seeder  = new RoomsServiceTestsSeeder();
            await seeder.SeedRoomAsync(context);

            var roomsRepository     = new EfDeletableEntityRepository <Room>(context);
            var roomTypesRepository = new EfDeletableEntityRepository <RoomType>(context);
            var roomsService        = this.GetRoomsService(roomsRepository, roomTypesRepository, context);
            var roomId = roomsRepository.All().First().Id;

            // Act
            var actualResult = await roomsService.GetRoomByIdAsync(roomId);

            var expectedResult = await roomsRepository
                                 .All()
                                 .SingleOrDefaultAsync(x => x.Id == roomId);

            // Assert
            Assert.True(expectedResult.Id == actualResult.Id, errorMessagePrefix + " " + "Id is not returned properly.");
            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.");
        }
Ejemplo n.º 3
0
        public async Task GetAllRooms_ShouldReturnCorrectResult()
        {
            var errorMessagePrefix = "RoomsService GetAllRooms() method does not work properly.";

            // Arrange
            MapperInitializer.InitializeMapper();
            var context = HotelDbContextInMemoryFactory.InitializeContext();
            var seeder  = new RoomsServiceTestsSeeder();
            await seeder.SeedRoomAsync(context);

            var roomsRepository     = new EfDeletableEntityRepository <Room>(context);
            var roomTypesRepository = new EfDeletableEntityRepository <RoomType>(context);
            var roomsService        = this.GetRoomsService(roomsRepository, roomTypesRepository, context);

            // Act
            var actualResult   = roomsService.GetAllRooms <AvailableRoomViewModel>().ToList();
            var expectedResult = new AvailableRoomViewModel[]
            {
                new AvailableRoomViewModel
                {
                    Id          = roomsRepository.All().First().Id,
                    RoomNumber  = "Test-1",
                    Description = "TestDescription",
                },
            };

            Assert.True(expectedResult[0].Id == actualResult[0].Id, errorMessagePrefix + " " + "Id is not returned properly.");
            Assert.True(expectedResult[0].RoomNumber == actualResult[0].RoomNumber, errorMessagePrefix + " " + "RoomNumer is not returned properly.");
            Assert.True(expectedResult[0].Description == actualResult[0].Description, errorMessagePrefix + " " + "Description are not returned properly.");
        }
Ejemplo n.º 4
0
        public async Task DeleteByIdAsync_WithExistentId_ShouldSuccessfullyDelete()
        {
            var errorMessagePrefix = "RecipeService DeleteByIdAsync() method does not work properly.";

            // Arrange
            MapperInitializer.InitializeMapper();
            var context = HotelDbContextInMemoryFactory.InitializeContext();
            var seeder  = new RoomsServiceTestsSeeder();
            await seeder.SeedRoomAsync(context);

            var roomsRepository     = new EfDeletableEntityRepository <Room>(context);
            var roomTypesRepository = new EfDeletableEntityRepository <RoomType>(context);
            var roomsService        = this.GetRoomsService(roomsRepository, roomTypesRepository, context);
            var roomId = roomsRepository.All().First().Id;

            // Act
            var roomsCount = roomsRepository.All().Count();
            await roomsService.DeleteByIdAsync(roomId);

            var actualResult   = roomsRepository.All().Count();
            var expectedResult = roomsCount - 1;

            // Assert
            Assert.True(actualResult == expectedResult, errorMessagePrefix + " " + "Recipes count is not reduced.");
        }