public async Task GetAllContacts_Should_not_return_soft_deleted_contacts() { // Arrange await ContactHelpers.SeedContacts(dbAccess, mapper); var deleteClient = new DeleteContactCommand() { ContactId = 2 }; var deleteHandler = new DeleteContactHandler(dbAccess, mapper); await deleteHandler.Handle(deleteClient, CancellationToken.None); var query = new GetAllContactsQuery(); var handler = new GetAllContactsHandler(dbAccess, mapper); // Act var result = await handler.Handle(query, CancellationToken.None); // Assert Assert.Single(result); Assert.Collection(result, a => { Assert.Equal(1, a.ContactId); Assert.Equal("Joe Bloggs", a.FullName); } ); }
public async Task given_valid_parameters_delete_contact_should_success ([Frozen] Mock <IContactRepository> contactRepositoy, entity.Contact contact, DeleteContactHandler handler) { var id = Guid.NewGuid(); contactRepositoy.Setup(r => r.GetAsync(id)).ReturnsAsync(contact); var exception = await Record.ExceptionAsync(async() => await handler.HandleAsync(new DeleteContact(id))); exception.Should().BeNull(); }
public async Task given_invalid_contact_should_throw_an_exception ([Frozen] Mock <IContactRepository> contactRepositoy, DeleteContactHandler handler) { var id = Guid.NewGuid(); entity.Contact contact = null; contactRepositoy.Setup(r => r.GetAsync(id)).ReturnsAsync(contact); var exception = await Record.ExceptionAsync(async() => await handler.HandleAsync(new DeleteContact(id))); exception.Should().NotBeNull(); exception.Should().BeOfType <ContactNotFoundException>(); }