public void WhenTheEventIsReceivedItIsEvaluated(PremiumReceivedData eventData) { var target = new PremiumReceivedEvaluator(); var fixture = new Fixture(); var premium = fixture.Build <PremiumSpread>() .With(t => t.PremiumId, eventData.PremiumId) .With(t => t.Status, PremiumSpread.Statuses.Awaiting).Create(); var view = new Policy { Premiums = new List <PremiumSpread> { premium } }; target.Evaluate(view, null, eventData); Assert.Equal(PremiumSpread.Statuses.Received, premium.Status); }
public void WhenTheEventIsReceivedAnExceptionIsThrownBecauseThePremiumIsAlreadyReceived(PremiumReceivedData eventData) { var target = new PremiumReceivedEvaluator(); var fixture = new Fixture(); var premium = fixture.Build <PremiumSpread>() .With(t => t.PremiumId, eventData.PremiumId) .With(t => t.Status, PremiumSpread.Statuses.Received).Create(); var view = new Policy { Premiums = new List <PremiumSpread> { premium } }; var expection = Assert.Throws <PremiumAlreadyPaidException>(() => target.Evaluate(view, null, eventData)); Assert.Equal(eventData.PremiumId, expection.PremiumId); }