public async Task ShouldFailToRemoveGoalUserNotOwner()
        {
            List <Goal> goals = new List <Goal>
            {
                new Goal(Guid.NewGuid(), "Novo para teste", "Testando")
            };

            RemoveGoalCommand command = new RemoveGoalCommand
            {
                GoalId = goals.First().Id
            };

            GoalFakeRepository goalFakeRepository = new GoalFakeRepository(goals);
            GoalCommandHandler handler            = new GoalCommandHandler(
                goalFakeRepository,
                GetIdentityService(),
                GetMediator(),
                GetUnitOfWork(),
                GetLogger()
                );

            CommandResult commandResult = await handler.Handle(command, default(CancellationToken));

            Assert.IsFalse(commandResult.Success);
            Assert.AreEqual("Falha ao buscar Objetivo no banco de dados.", commandResult.Notifications.FirstOrDefault().Description);
        }
        public async Task ShouldRemoveGoal()
        {
            Guid profileId = Guid.NewGuid();

            List <Goal> goals = new List <Goal>
            {
                new Goal(profileId, "Novo para teste", "Testando")
            };

            RemoveGoalCommand command = new RemoveGoalCommand
            {
                GoalId = goals.First().Id
            };

            GoalFakeRepository goalFakeRepository = new GoalFakeRepository(goals);
            GoalCommandHandler handler            = new GoalCommandHandler(
                goalFakeRepository,
                GetIdentityService(profileId),
                GetMediator(),
                GetUnitOfWork(),
                GetLogger()
                );

            Assert.AreEqual(1, goalFakeRepository._goals.Count);

            CommandResult commandResult = await handler.Handle(command, default(CancellationToken));

            Assert.IsTrue(commandResult.Success);
            Assert.AreEqual(0, goalFakeRepository._goals.Count);
        }
Example #3
0
        public async Task <IActionResult> RemoveAsync(Guid id)
        {
            RemoveGoalCommand command = new RemoveGoalCommand
            {
                GoalId = id
            };

            return(await CreateCommandResponse(command));
        }
        public async Task <CommandResult> Handle(RemoveGoalCommand request, CancellationToken cancellationToken)
        {
            Goal goal = await _goalRepository.GetByIdAsync(request.GoalId);

            if (!FoundValidGoal(goal))
            {
                return(FailureDueToGoalNotFound());
            }

            await _goalRepository.RemoveAsync(goal);

            return(await CommitAndPublishDefaultAsync());
        }
Example #5
0
        public async Task <bool> Handle(RemoveGoalCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(false);
            }

            _goalRepository.Remove(message.Id);

            if (await Commit())
            {
                await Bus.RaiseEvent(new GoalRemovedEvent(message.Id));
            }

            return(true);
        }
        public async Task ShouldFailToRemoveGoalIdNotFound()
        {
            RemoveGoalCommand command = new RemoveGoalCommand
            {
                GoalId = Guid.NewGuid()
            };

            GoalFakeRepository goalFakeRepository = new GoalFakeRepository();
            GoalCommandHandler handler            = new GoalCommandHandler(
                goalFakeRepository,
                GetIdentityService(),
                GetMediator(),
                GetUnitOfWork(),
                GetLogger()
                );

            CommandResult commandResult = await handler.Handle(command, default(CancellationToken));

            Assert.IsFalse(commandResult.Success);
            Assert.AreEqual("Falha ao buscar Objetivo no banco de dados.", commandResult.Notifications.FirstOrDefault().Description);
        }
Example #7
0
        public void Remove(Guid id)
        {
            var removeCommand = new RemoveGoalCommand(id);

            Bus.SendCommand(removeCommand);
        }