public async Task <ActionResult> UnshareContact(Guid id) { var contactDetailsQuery = new ContactDetailsQuery(id); var contact = await Mediator.Send(contactDetailsQuery); if (contact == null) { return(BadRequest("Contact not found")); } var loggedUserQuery = new LoggedUserQuery(); User user = await Mediator.Send(loggedUserQuery); var unshareContactCommand = new UnshareContactCommand(contact.Id, user.Id); await Mediator.Send(unshareContactCommand); return(NoContent()); }
public async void Unshares_Contact_Successfully() { //Arrange var contact = Context.Contacts.First(); var userContact = Context.UserContacts.Where(x => x.ContactId == contact.Id).FirstOrDefault(); var user = Context.Users.Where(x => x.Id == userContact.UserId).FirstOrDefault(); Mediator.Setup(x => x.Send(It.IsAny <UnshareContactCommand>(), new CancellationToken())) .ReturnsAsync(Unit.Value); //Act var unshareContactCommand = new UnshareContactCommand(contact.Id, user.Id); var handler = new UnshareContactCommandHandler(Context); var result = await handler.Handle(unshareContactCommand, new CancellationToken()); //Assert result.Should() .BeOfType <Unit>() .Equals(Unit.Value); DbContextFactory.Destroy(Context); }