Exemple #1
0
    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()));
    }
Exemple #2
0
    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);
    }
Exemple #3
0
    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));
    }
Exemple #4
0
        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);
        }