public async Task <ActionResult> StartSaleProcess(Guid id) { var contactDetailsQuery = new ContactDetailsQuery(id); var contact = await Mediator.Send(contactDetailsQuery); if (contact == null) { return(NotFound("Contact not found")); } var startSaleProcessCommand = new StartSaleProcessCommand(contact); await Mediator.Send(startSaleProcessCommand); return(NoContent()); }
public async void Starts_Sale_Process() { //Arrange var contact = new Contact { Id = Guid.Empty, Name = "Contact", Type = "Client", Company = "Contact co.", PhoneNumber = "000", Email = "Contact@", Notes = "ABC", Status = "Inactive", Source = "Social Media" }; var user = new User { Id = "1U", UserName = "******", DisplayName = "TestUser ", Email = "@test", Level = "mid" }; UserAccessor.Setup(x => x.GetLoggedUser()).ReturnsAsync(user).Verifiable(); OperationsRepository.Setup(x => x.Add(It.IsAny <Operation>(), user)).ReturnsAsync(true).Verifiable(); Mediator.Setup(x => x.Send(It.IsAny <StartSaleProcessCommand>(), new CancellationToken())) .ReturnsAsync(Unit.Value); //Act var addContactCommand = new StartSaleProcessCommand(contact); var handler = new StartSaleProcessCommandHandler(Context, UserAccessor.Object, OperationsRepository.Object); var result = await handler.Handle(addContactCommand, new CancellationToken()); //Assert result.Should() .BeOfType <Unit>() .Equals(Unit.Value); UserAccessor.Verify(); OperationsRepository.Verify(); DbContextFactory.Destroy(Context); }