public void IsNewPositiveTest() { var spec = new IsNewSpecification <CompetitionAggregate>(); var isNew = spec.IsSatisfiedBy(new CompetitionAggregate(CompetitionId.New, SnapshotEveryFewVersionsStrategy.Default)); isNew.Should().BeTrue(); }
public void IsNewNegativeTest() { var spec = new IsNewSpecification <CompetitionAggregate>(); var competition = new CompetitionAggregate(CompetitionId.New, SnapshotNeverStrategy.Default); competition.ApplyEvents(ToDomainEvents(competition.Id, new CompetitionRegisteredEvent("user", "name"))); var isNew = spec.IsSatisfiedBy(competition); isNew.Should().BeFalse(); }
public bool IsValid(Order order) { var isNew = new IsNewSpecification(order.SinkSettings.SmsSettings.IsNewPeriod); var isOwner = new IsOnlyCreatedByOwnerSpecification(order.SinkSettings.SmsSettings.IsOnlyOwner); var priceLower = new PriceLowerSpecification(order.SinkSettings.SmsSettings.DesiredPriceBorder); return(isNew .And(isOwner) .And(priceLower) .IsSatisfiedBy(order)); }