public async Task Handle_ValidId_ShouldActivateProject()
        {
            var projectId = await CreateFinancialProject();

            var delete = new DeleteFinancialProjectCommand {
                Id = projectId
            };

            await SendAsync(delete);

            var entity = await FindAsync <CoolWebsite.Domain.Entities.Financial.FinancialProject>(projectId);

            entity.Deleted.Should().BeCloseTo(DateTime.Now, 1000);
            entity.DeletedByUserId.Should().Be(User.Id);

            var activateCommand = new ActivateFinancialProjectCommand
            {
                ProjectId = projectId
            };

            await SendAsync(activateCommand);

            var activatedEntity = await FindAsync <CoolWebsite.Domain.Entities.Financial.FinancialProject>(projectId);

            activatedEntity.Deleted.Should().Be(null);
            activatedEntity.DeletedByUserId.Should().Be(null);
        }
        public async Task Handle_ValidIdNotCreatedByUser_ShouldThrowNotFoundException()
        {
            var projectId = await CreateFinancialProject();

            var delete = new DeleteFinancialProjectCommand {
                Id = projectId
            };

            await SendAsync(delete);

            var entity = await FindAsync <CoolWebsite.Domain.Entities.Financial.FinancialProject>(projectId);

            entity.Deleted.Should().BeCloseTo(DateTime.Now, 1000);
            entity.DeletedByUserId.Should().Be(User.Id);

            var activateCommand = new ActivateFinancialProjectCommand
            {
                ProjectId = projectId
            };

            await RunAsUserAsync("*****@*****.**", "nah");



            FluentActions.Invoking(async() => await SendAsync(activateCommand)).Should().Throw <NotFoundException>();
        }
        public void Handle_EmptyId_ShouldThrowValidationException()
        {
            var activateCommand = new ActivateFinancialProjectCommand
            {
                ProjectId = ""
            };

            FluentActions.Invoking(async() => await SendAsync(activateCommand)).Should().Throw <ValidationException>();
        }
        public void Handle_InvalidId_ShouldThrowNotFoundException()
        {
            var activateCommand = new ActivateFinancialProjectCommand
            {
                ProjectId = "nah"
            };

            FluentActions.Invoking(async() => await SendAsync(activateCommand)).Should().Throw <NotFoundException>();
        }
示例#5
0
        public async Task <IActionResult> ActivateFinancialProject(string id)
        {
            var command = new ActivateFinancialProjectCommand {
                ProjectId = id
            };

            await Mediator.Send(command);

            return(RedirectToAction("Index"));
        }