public async Task All_ReturnsCorectly() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var promoCodeRepository = new EfDeletableEntityRepository <PromoCode>(context); var promoCodeService = new PromoCodeService(promoCodeRepository); var promoCodesTestSeeder = new PromoCodesTestSeeder(); await promoCodesTestSeeder.SeedPromoCodesAsync(context); var result = await promoCodeService.All <PromoCodeViewModel>(); Assert.Equal(2, result.Count()); }
public async Task GetIdByNameAsync_FunctionsProperly() { var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var promoCodeRepository = new EfDeletableEntityRepository <PromoCode>(context); var promoCodeService = new PromoCodeService(promoCodeRepository); var promoCodesTestSeeder = new PromoCodesTestSeeder(); await promoCodesTestSeeder.SeedPromoCodesAsync(context); var actualResult = await promoCodeService.GetIdByNameAsync("First"); var expectedResult = "FirstId"; Assert.Equal(expectedResult, actualResult); }
public async Task DeductPercentageFromPrice_ShouldDecuctThePriceProperly() { var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var promoCodeRepository = new EfDeletableEntityRepository <PromoCode>(context); var promoCodeService = new PromoCodeService(promoCodeRepository); var promoCodesTestSeeder = new PromoCodesTestSeeder(); await promoCodesTestSeeder.SeedPromoCodesAsync(context); var actualResult = await promoCodeService.DeductPercentageFromPrice(100, "FirstId"); var expectedResult = 90; Assert.Equal(expectedResult, actualResult); }
public async Task ExistsAsync_FunctionsProperly() { var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var promoCodeRepository = new EfDeletableEntityRepository <PromoCode>(context); var promoCodeService = new PromoCodeService(promoCodeRepository); var promoCodesTestSeeder = new PromoCodesTestSeeder(); await promoCodesTestSeeder.SeedPromoCodesAsync(context); var shouldBeTrue = await promoCodeService.ExistsAsync("First"); var shouldBeFalse = await promoCodeService.ExistsAsync("invalid"); Assert.True(shouldBeTrue); Assert.False(shouldBeFalse); }
public async Task DeleteAsync_FunctionsProperly() { var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var promoCodeRepository = new EfDeletableEntityRepository <PromoCode>(context); var promoCodeService = new PromoCodeService(promoCodeRepository); var promoCodesTestSeeder = new PromoCodesTestSeeder(); await promoCodesTestSeeder.SeedPromoCodesAsync(context); var shouldBeTrue = await promoCodeService.DeleteAsync("FirstId"); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await promoCodeService.DeleteAsync("invalid"); }); }
public async Task Add_FunctionsProperly() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var promoCodeRepository = new EfDeletableEntityRepository <PromoCode>(context); var promoCodeService = new PromoCodeService(promoCodeRepository); var promoCodesTestSeeder = new PromoCodesTestSeeder(); await promoCodesTestSeeder.SeedPromoCodesAsync(context); var validPromoCodeCreateInputModel = new PromoCodeCreateInputModel() { Name = "Unique", DiscountInPercentage = 2, }; var inValidPromoCodeNameCreateInputModel = new PromoCodeCreateInputModel() { Name = "First", DiscountInPercentage = 2, }; var inValidPromoCodeCreateInputModel = new PromoCodeCreateInputModel() { Name = null, DiscountInPercentage = -1, }; var shouldBeTrue = await promoCodeService.AddAsync(validPromoCodeCreateInputModel); var shouldBeFalse = await promoCodeService.AddAsync(inValidPromoCodeNameCreateInputModel); Assert.True(shouldBeTrue); Assert.False(shouldBeFalse); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await promoCodeService.AddAsync(inValidPromoCodeCreateInputModel); }); }
public async Task EditAsync_FunctionsProperly() { MapperInitializer.InitializeMapper(); var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var promoCodeRepository = new EfDeletableEntityRepository <PromoCode>(context); var promoCodeService = new PromoCodeService(promoCodeRepository); var promoCodesTestSeeder = new PromoCodesTestSeeder(); await promoCodesTestSeeder.SeedPromoCodesAsync(context); var validPromoCodeCreateInputModel = new PromoCodeCreateInputModel() { Id = "FirstId", Name = "FirstChanged", }; var invalidNamePromoCodeCreateInputModel = new PromoCodeCreateInputModel() { Id = "SecondId", Name = "FirstChanged", }; var exceptionPromoCodeCreateInputModel = new PromoCodeCreateInputModel() { Id = "invalid", Name = "invalid", }; var shouldBeTrue = await promoCodeService.EditAsync(validPromoCodeCreateInputModel); var shouldBeFalse = await promoCodeService.EditAsync(invalidNamePromoCodeCreateInputModel); await Assert.ThrowsAsync <ArgumentNullException>(async() => { await promoCodeService.EditAsync(exceptionPromoCodeCreateInputModel); }); }