public void given_valid_create_command_I_get_pod_created_event() { var userId = Guid.NewGuid(); var pod = TaskPod.Create(BuildTestCreateCommand(userId.ToString(), _usernameForTest)); Assert.IsTrue(pod.UncommitedEvents().Single().Metadata["$correlationId"].Equals(userId.ToString())); }
private TaskPod BuildTaskPodWith2Tasks(string userId, string username, Guid taskId1, Guid taskId2) { var pod = TaskPod.Create(BuildTestCreateCommand(userId, username)); pod.AddTask(BuildTestAddNewTaskCommand(taskId1, pod.AggregateId, _usernameForTest)); pod.AddTask(BuildTestAddNewTaskCommand(taskId2, pod.AggregateId, _usernameForTest)); return(pod); }
public void given_a_taskPod_I_can_add_tasks_only_for_my_userName() { var userId = Guid.NewGuid(); var pod = TaskPod.Create(BuildTestCreateCommand(userId.ToString(), _usernameForTest)); var taskId1 = Guid.NewGuid(); var taskId2 = Guid.NewGuid(); pod.AddTask(BuildTestAddNewTaskCommand(taskId1, pod.AggregateId, _usernameForTest)); pod.AddTask(BuildTestAddNewTaskCommand(taskId2, pod.AggregateId, "anotheruser")); Assert.IsTrue(pod.UncommitedEvents().Count() == 2); Assert.IsTrue(pod.UncommitedEvents().First().Metadata["$correlationId"].Equals(userId.ToString())); Assert.IsTrue(pod.UncommitedEvents().ToArray()[1].Metadata["$correlationId"].Equals(userId.ToString())); Assert.IsTrue(((TaskAddedV1)pod.UncommitedEvents().ToArray()[1]).Id.Equals(taskId1)); }
public IAggregate Handle(CreateTaskPod command) { TaskPod taskPod; try { taskPod = _repo.GetById <TaskPod>(command.Id); } catch (AggregateNotFoundException) { taskPod = TaskPod.Create(command); _repo.Save(taskPod).Wait(); } return(taskPod); }