public async Task AddContactPersonHandler_GivenNullContactId_AddsContactPerson() { var schemeId = Guid.NewGuid(); var contactId = Guid.NewGuid(); var dataAccess = A.Fake <IGenericDataAccess>(); var context = A.Fake <WeeeContext>(); var handler = new AddContactPersonHandler(context, permissiveAuthorization, dataAccess); var message = new AddContactPerson(schemeId, new ContactData { FirstName = "Some first name", LastName = "Some last name", Position = "Some position" }, null); A.CallTo(() => dataAccess.Add <Contact>(A <Contact> .That.Matches(c => c.FirstName.Equals(message.ContactPerson.FirstName) && c.LastName.Equals(message.ContactPerson.LastName) && c.Position.Equals(message.ContactPerson.Position)))) .Returns(contactId); var result = await handler.HandleAsync(message); A.CallTo(() => dataAccess.Add <Contact>(A <Contact> .That.Matches(c => c.FirstName.Equals(message.ContactPerson.FirstName) && c.LastName.Equals(message.ContactPerson.LastName) && c.Position.Equals(message.ContactPerson.Position)))).MustHaveHappened(Repeated.Exactly.Once).Then(A.CallTo(() => context.SaveChangesAsync()).MustHaveHappened(Repeated.Exactly.Once)); result.Should().Be(contactId); }
public async Task AddContactPersonHandler_GivenContactId_ContactPersonUpdated() { var schemeId = Guid.NewGuid(); var contactId = Guid.NewGuid(); var dataAccess = A.Fake <IGenericDataAccess>(); var context = A.Fake <WeeeContext>(); var contact = A.Fake <Contact>(); var handler = new AddContactPersonHandler(context, permissiveAuthorization, dataAccess); var message = new AddContactPerson(schemeId, new ContactData { FirstName = "Some first name", LastName = "Some last name", Position = "Some position" }, contactId); A.CallTo(() => dataAccess.GetById <Contact>(contactId)).Returns(contact); await handler.HandleAsync(message); contact.FirstName.Should().Be(message.ContactPerson.FirstName); contact.LastName.Should().Be(message.ContactPerson.LastName); contact.Position.Should().Be(message.ContactPerson.Position); A.CallTo(() => context.SaveChangesAsync()).MustHaveHappened(Repeated.Exactly.Once); }
public async Task AddContactPersonHandler_NotOrganisationUser_ThrowsSecurityException() { var handler = new AddContactPersonHandler(A.Fake <WeeeContext>(), denyingAuthorization, A.Fake <IGenericDataAccess>()); var message = new AddContactPerson(A.Dummy <Guid>(), A.Dummy <ContactData>(), A.Dummy <Guid?>()); await Assert.ThrowsAsync <SecurityException>( async() => await handler.HandleAsync(message)); }