Exemplo n.º 1
0
        public void ReturnContactDetailsResponse()
        {
            var domain = new ContactDetailsDomain
            {
                Id               = 1234,
                Type             = "Address",
                ContactValue     = "123456",
                AddedBy          = "test",
                IsActive         = false,
                IsDefault        = false,
                DateLastModified = new DateTime(2020, 04, 23),
                ModifiedBy       = "Tester",
                SubType          = "Home",
                DateAdded        = new DateTime(2021, 05, 21),
                ResidentId       = 12345
            };
            var expectedResponse = new ContactDetailsResponse
            {
                Id               = 1234,
                Type             = "Address",
                Value            = "123456",
                AddedBy          = "test",
                Active           = false,
                Default          = false,
                DateLastModified = new DateTime(2020, 04, 23),
                ModifiedBy       = "Tester",
                SubType          = "Home",
                DateAdded        = new DateTime(2021, 05, 21),
            };

            domain.ToResponse().Should().BeEquivalentTo(expectedResponse);
        }
Exemplo n.º 2
0
        public int?InsertResidentContactDetails(int?residentId, string nccContactId, ContactDetailsDomain contactDetails)
        {
            if (ResidentNotFoundForId(residentId))
            {
                residentId = null;
            }

            residentId = residentId ?? FindResidentIdByContactId(nccContactId);

            if (residentId == null)
            {
                return(null);
            }

            var contact = new Contact
            {
                ResidentId             = residentId.Value,
                ContactValue           = contactDetails.ContactValue,
                IsActive               = contactDetails.IsActive,
                IsDefault              = contactDetails.IsDefault,
                ContactTypeLookupId    = contactDetails.TypeId,
                ContactSubTypeLookupId = contactDetails.SubtypeId
            };

            _residentContactContext.ContactDetails.Add(contact);
            _residentContactContext.SaveChanges();

            return(contact.Id);
        }
        public ContactDetailsResponse Execute(ResidentContact contactRequest)
        {
            if (contactRequest.ResidentId == null && string.IsNullOrWhiteSpace(contactRequest.NccContactId))
            {
                throw new NoIdentifierException();
            }

            var contactDomain = new ContactDetailsDomain
            {
                ContactValue = contactRequest.Value,
                IsActive     = contactRequest.Active,
                IsDefault    = contactRequest.Default,
                TypeId       = contactRequest.TypeId,
                SubtypeId    = contactRequest.SubtypeId,
                Id           = contactRequest?.Id
            };
            var response = _residentGateway.InsertResidentContactDetails(contactRequest.ResidentId,
                                                                         contactRequest.NccContactId, contactDomain);

            if (response == null)
            {
                throw new ResidentNotFoundException();
            }
            if (contactRequest.Id != null)
            {
                _residentGateway.InvalidateContactDetailsRecord(contactRequest.Id);
            }
            return(new ContactDetailsResponse {
                Id = response.Value
            });
        }
 private static bool CheckContactDetails(ContactDetailsDomain x, ContactDetailsDomain expectedDomain)
 {
     return(x.ContactValue == expectedDomain.ContactValue &&
            x.IsActive == expectedDomain.IsActive &&
            x.IsDefault == expectedDomain.IsDefault &&
            x.SubtypeId == expectedDomain.SubtypeId &&
            x.TypeId == expectedDomain.TypeId &&
            x.Id == expectedDomain.Id);
 }
        public void UseCaseShouldCallGatewayWithADomainObjectToInsertContactData()
        {
            var request = _fixture.Create <ResidentContact>();

            var expectedDomain = new ContactDetailsDomain
            {
                ContactValue = request.Value,
                IsActive     = request.Active,
                IsDefault    = request.Default,
                SubtypeId    = request.SubtypeId,
                TypeId       = request.TypeId,
                Id           = request.Id
            };

            _mockGateway.Setup(
                x => x.InsertResidentContactDetails(request.ResidentId.Value, request.NccContactId,
                                                    It.Is <ContactDetailsDomain>(x => CheckContactDetails(x, expectedDomain)))).Returns(1);
            _classUnderTest.Execute(request);
            _mockGateway.Verify();
        }
Exemplo n.º 6
0
        public void EntitiesHaveAnId()
        {
            var entity = new ContactDetailsDomain();

            entity.Id?.Should().BeGreaterOrEqualTo(0);
        }