Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
        }