public void Check_AggregationValidations() { //given var agg = ActivityAggregationRoot.CreateFrom(Description.From(""), EntityId.GetNext(), Project.From(EntityId.From(1), Description.From(""))); //when var results = agg.ValidationResults; //then Assert.False(results.IsValid); Assert.True(results.Errors.Count > 0); }
protected override ExecutionResult ExecuteCommand(AddActivityCommand command) { var descr = command.Description; var entityId = EntityId.GetNext(); var project = _taskSession.Repository.GetProject(command.ProjectId); var isSucceed = false; var agg = ActivityAggregationRoot.CreateFrom(descr, entityId, project); if (agg.ValidationResults.IsValid) { _taskSession.Repository.Add(agg.GetChange()); _taskSession.SaveChanges(); Publisher.Publish(agg.GetEvents()); isSucceed = true; } return(new ExecutionResult(isSucceed, agg.ValidationResults.Errors.ToImmutableList())); }
public void Check_TaskAggregation_Create() { //given var descriptionText = "Given Description"; var id = EntityId.From(1u); var projectId = EntityId.From(1u); var project = Project.From(projectId, Description.From(descriptionText)); var task = Activity.From(Description.From(descriptionText), id, EntityId.From(1u), ActivityStatus.From(1)); //when var agg = ActivityAggregationRoot.CreateFrom(Description.From(descriptionText), id, project); var changes = agg.GetChange(); //then Assert.Equal(changes, task); }