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."); }
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."); }
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); }); }
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."); }
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()); }