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>(); }
public async Task <IActionResult> ActivateFinancialProject(string id) { var command = new ActivateFinancialProjectCommand { ProjectId = id }; await Mediator.Send(command); return(RedirectToAction("Index")); }