Example #1
0
        public async Task EditAsync_WithCorrectData_ShouldReturnCorrectResult()
        {
            var errorMessagePrefix = "PaymentTypesService EditAsync() method does not work properly.";

            // Arrange
            MapperInitializer.InitializeMapper();
            var context = HotelDbContextInMemoryFactory.InitializeContext();
            var paymentTypeRepository = new EfDeletableEntityRepository <PaymentType>(context);
            var paymentTypesService   = this.GetPaymentTypesService(paymentTypeRepository);
            var seeder = new PaymentTypesServiceTestsSeeder();
            await seeder.SeedPaymentTypeAsync(context);

            var paymentType = context.PaymentTypes.First();

            var model = new EditPaymentTypeViewModel
            {
                Id   = paymentType.Id,
                Name = "Test-1-Edited",
            };

            // Act
            var result = await paymentTypesService.EditAsync(model);

            // Assert
            Assert.True(result, errorMessagePrefix + " " + "Returns false.");
        }
Example #2
0
        public async Task GetPaymentTypeByNamec_WithExistentName_ShouldReturnCorrectResult()
        {
            var errorMessagePrefix = "PaymentTypesService GetPaymentTypeByName() method does not work properly.";

            // Arrange
            MapperInitializer.InitializeMapper();
            var context = HotelDbContextInMemoryFactory.InitializeContext();
            var paymentTypeRepository = new EfDeletableEntityRepository <PaymentType>(context);
            var paymentTypesService   = this.GetPaymentTypesService(paymentTypeRepository);
            var seeder = new PaymentTypesServiceTestsSeeder();
            await seeder.SeedPaymentTypeAsync(context);

            var paymentTypeName = paymentTypeRepository.All().First().Name;

            // Act
            var actualResult = await paymentTypesService.GetPaymentTypeByNameAsync(paymentTypeName);

            var expectedResult = await paymentTypeRepository
                                 .All()
                                 .SingleOrDefaultAsync(x => x.Name == paymentTypeName);

            // 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.");
        }
Example #3
0
        public async Task EditAsync_WithIncorrectProperty_ShouldThrowArgumentNullException()
        {
            // Arrange
            MapperInitializer.InitializeMapper();
            var context = HotelDbContextInMemoryFactory.InitializeContext();
            var paymentTypeRepository = new EfDeletableEntityRepository <PaymentType>(context);
            var paymentTypesService   = this.GetPaymentTypesService(paymentTypeRepository);
            var seeder = new PaymentTypesServiceTestsSeeder();
            await seeder.SeedPaymentTypeAsync(context);

            var paymentType = context.PaymentTypes.First();

            var model = new EditPaymentTypeViewModel
            {
                Id   = paymentType.Id,
                Name = null,
            };

            // Act

            // Assert
            await Assert.ThrowsAsync <ArgumentNullException>(async() =>
            {
                await paymentTypesService.EditAsync(model);
            });
        }
Example #4
0
        public async Task CreateAllAsync_ShouldReturnCorrectResult()
        {
            var errorMessage = "PaymentTypesService CreateAllAsync() method does not work properly.";

            // Arrange
            MapperInitializer.InitializeMapper();
            var context = HotelDbContextInMemoryFactory.InitializeContext();
            var paymentTypeRepository = new EfDeletableEntityRepository <PaymentType>(context);
            var paymentTypesService   = this.GetPaymentTypesService(paymentTypeRepository);
            var seeder = new PaymentTypesServiceTestsSeeder();
            await seeder.SeedPaymentTypeAsync(context);

            // Act
            await paymentTypesService.CreateAllAsync(new string[] { "Test-1" });

            var actualResult = new RoomType {
                Name = "Test-1"
            };
            var expectedResult = paymentTypeRepository.All().First();

            // Assert
            Assert.True(expectedResult.Name == actualResult.Name, errorMessage + " " + "Name is not returned properly.");
        }
Example #5
0
        public async Task GetAllPaymentTypesAsyn_ShouldReturnCorrectCount()
        {
            // Arrange
            MapperInitializer.InitializeMapper();
            var context = HotelDbContextInMemoryFactory.InitializeContext();
            var paymentTypeRepository = new EfDeletableEntityRepository <PaymentType>(context);
            var paymentTypesService   = this.GetPaymentTypesService(paymentTypeRepository);
            var seeder = new PaymentTypesServiceTestsSeeder();
            await seeder.SeedPaymentTypeAsync(context);

            // Act
            var actualResult   = paymentTypesService.GetAllPaymentTypes <DetailsPaymentTypeViewModel>().ToList();
            var expectedResult = new DetailsPaymentTypeViewModel[]
            {
                new DetailsPaymentTypeViewModel
                {
                    Id   = paymentTypeRepository.All().First().Id,
                    Name = paymentTypeRepository.All().First().Name,
                },
            };

            Assert.Equal(expectedResult.Length, actualResult.Count());
        }