public void Create_beer_provider_with_null_provider_should_raise_an_exception() { var brewery = new Brewery(BreweryName.Create("Abbaye de Leffe").Value); var beer = new Beer(BeerName.Create("Leffe Blonde").Value, BeerPrice.Create(2.55m).Value, BeerAlcoholDegree.Create(5.5m).Value, brewery); var beerProvider = new BeerProvider(BeerProviderQuantity.Create(10).Value, beer, null); }
public void Create_beer_provider_with_null_beer_provider_quantity_should_raise_an_exception() { var brewery = new Brewery(BreweryName.Create("Abbaye de Leffe").Value); var beer = new Beer(BeerName.Create("Leffe Blonde").Value, BeerPrice.Create(2.55m).Value, BeerAlcoholDegree.Create(5.5m).Value, brewery); var provider = new Provider(ProviderName.Create("GeneDrinks").Value); var beerProvider = new BeerProvider(null, beer, provider); }
public void Add_beer_that_already_exists_should_return_an_error() { var brewery = new Brewery(BreweryName.Create("Abbaye de Leffe").Value); brewery.AddBeer(BeerName.Create("Leffe Blonde").Value, BeerPrice.Create(2.55m).Value, BeerAlcoholDegree.Create(5.5m).Value); Result <Brewery> breweryResult = brewery.AddBeer(BeerName.Create("Leffe Blonde").Value, BeerPrice.Create(2.55m).Value, BeerAlcoholDegree.Create(5.5m).Value); breweryResult.IsFailure.ShouldBeTrue(); }
public void Create_beer_provider_without_error() { var brewery = new Brewery(BreweryName.Create("Abbaye de Leffe").Value); var beer = new Beer(BeerName.Create("Leffe Blonde").Value, BeerPrice.Create(2.55m).Value, BeerAlcoholDegree.Create(5.5m).Value, brewery); var provider = new Provider(ProviderName.Create("GeneDrinks").Value); BeerProvider beerProvider = new BeerProvider(BeerProviderQuantity.Create(10).Value, beer, provider); beerProvider.ShouldNotBeNull(); }
public void Add_beer_without_error() { var provider = new Provider(ProviderName.Create("GeneDrinks").Value); var brewery = new Brewery(BreweryName.Create("Abbaye de Leffe").Value); var beer = new Beer(BeerName.Create("Leffe Blonde").Value, BeerPrice.Create(2.55m).Value, BeerAlcoholDegree.Create(5.5m).Value, brewery); Result <Provider> providerResult = provider.ProvideBeer(beer, BeerProviderQuantity.Create(10).Value); providerResult.IsFailure.ShouldBeFalse(); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <Beer>(x => { x.ToTable("Beer").HasKey(k => k.Id); x.Property(p => p.Id).HasColumnName("Id"); x.Property(p => p.Name) .HasConversion(p => p.Value, p => BeerName.Create(p).Value); x.Property(p => p.Price) .HasConversion(p => p.Value, p => BeerPrice.Create(p).Value); x.Property(p => p.AlcoholDegree) .HasConversion(p => p.Value, p => BeerAlcoholDegree.Create(p).Value); x.HasOne(p => p.Brewery).WithMany(p => p.Beers); }); modelBuilder.Entity <Provider>(x => { x.ToTable("Provider").HasKey(k => k.Id); x.Property(p => p.Id).HasColumnName("Id"); x.Property(p => p.Name) .HasConversion(p => p.Value, p => ProviderName.Create(p).Value); }); modelBuilder.Entity <BeerProvider>(x => { x.ToTable("BeerProvider").HasKey(k => k.Id); x.Property(p => p.Id).HasColumnName("Id"); x.Property(p => p.BeerProviderQuantity) .HasConversion(p => p.Value, p => BeerProviderQuantity.Create(p).Value).HasColumnName("AvailableQuantity"); x.HasOne(bp => bp.Beer).WithMany(b => b.BeerProviders); x.HasOne(bp => bp.Provider).WithMany(p => p.BeerProviders); }); modelBuilder.Entity <Brewery>(x => { x.ToTable("Brewery").HasKey(k => k.Id); x.Property(p => p.Id).HasColumnName("Id"); x.Property(p => p.Name) .HasConversion(p => p.Value, p => BreweryName.Create(p).Value); }); }