示例#1
0
        public PropertyLeadApprovedSubscriber(
            string connectionString,
            string exchangeName,
            IReferralLeadService referralLeadService,
            ILogFactory logFactory)
            : base(connectionString, exchangeName, logFactory)
        {
            GuidsFieldsToValidate.Add(nameof(MAVNPropertyLeadApprovedEvent.ReferId));

            _referralLeadService = referralLeadService;
        }
 public CommonReferralService(
     IReferralLeadService referralLeadService,
     IReferralHotelsService referralHotelsService,
     IFriendReferralService friendReferralService,
     IMapper mapper)
 {
     _referralLeadService   = referralLeadService;
     _referralHotelsService = referralHotelsService;
     _friendReferralService = friendReferralService;
     _mapper = mapper;
 }
示例#3
0
 public ReferralLeadsController(
     IReferralLeadService referralLeadService,
     IPropertyPurchaseService propertyPurchaseService,
     IOfferToPurchaseService offerToPurchaseService,
     IDemoLeadService demoLeadService,
     ISettingsService settingsService,
     ICustomerProfileClient customerProfileClient,
     IMapper mapper,
     ILogFactory logFactory) : base(settingsService, logFactory)
 {
     _referralLeadService     = referralLeadService;
     _propertyPurchaseService = propertyPurchaseService;
     _offerToPurchaseService  = offerToPurchaseService;
     _referralLeadService     = referralLeadService;
     _mapper                = mapper;
     _demoLeadService       = demoLeadService;
     _customerProfileClient = customerProfileClient;
 }
        public ReferralLeadServiceNewTests()
        {
            _referralLeadProfile = new ReferralLeadProfile
            {
                ReferralLeadId = _referralId,
                FirstName      = "first name",
                LastName       = "last name",
                PhoneNumber    = "+70000000000",
                Email          = "*****@*****.**",
                Note           = "note"
            };

            _referralLeadCreateInfo = new ReferralLead
            {
                FirstName          = _referralLeadProfile.FirstName,
                LastName           = _referralLeadProfile.LastName,
                PhoneCountryCodeId = _countryPhoneCode.Id,
                PhoneNumber        = "000 000 00 00",
                Email   = _referralLeadProfile.Email,
                Note    = _referralLeadProfile.Note,
                AgentId = Guid.Parse(_customerId)
            };

            _agent = new AgentModel
            {
                CustomerId   = Guid.Parse(_customerId),
                Status       = AgentStatus.ApprovedAgent,
                SalesforceId = "SalesforceId"
            };

            _customerProfileClientMock.Setup(o => o.CustomerProfiles.GetByCustomerIdAsync(
                                                 It.Is <string>(customerId => customerId == _customerId), It.IsAny <bool>(), It.IsAny <bool>()))
            .ReturnsAsync((string customerId, bool includeNonVerified, bool includeDeactivated) => new CustomerProfileResponse
            {
                ErrorCode = CustomerProfileErrorCodes.None
            });

            _customerProfileClientMock
            .Setup(o => o.ReferralLeadProfiles.AddAsync(It.IsAny <ReferralLeadProfileRequest>()))
            .ReturnsAsync((ReferralLeadProfileRequest request) => new ReferralLeadProfileResponse());

            _customerProfileClientMock.Setup(o => o.ReferralLeadProfiles.GetByIdAsync(
                                                 It.Is <Guid>(referralId => referralId == _referralId)))
            .ReturnsAsync((Guid referralId) => new ReferralLeadProfileResponse
            {
                ErrorCode = ReferralLeadProfileErrorCodes.None, Data = _referralLeadProfile
            });

            _dictionariesClientMock.Setup(o => o.Salesforce.GetCountryPhoneCodeByIdAsync(
                                              It.Is <int>(id => id == _countryPhoneCode.Id)))
            .ReturnsAsync((int id) => _countryPhoneCode);

            _agentManagementClientMock.Setup(o => o.Agents.GetByCustomerIdAsync(
                                                 It.Is <Guid>(customerId => customerId == Guid.Parse(_customerId))))
            .ReturnsAsync((Guid customerId) => _agent);

            _referralLeadRepositoryMock.Setup(o => o.CreateAsync(It.IsAny <ReferralLeadEncrypted>()))
            .ReturnsAsync((ReferralLeadEncrypted referralLeadEncrypted) =>
            {
                referralLeadEncrypted.Id = _referralId;
                referralLeadEncrypted.CreationDateTime = DateTime.UtcNow;

                return(referralLeadEncrypted);
            });

            _referralLeadRepositoryMock.Setup(o => o.GetByEmailHashAsync(It.IsAny <string>()))
            .ReturnsAsync((string emailHash) =>
                          _referralLeadsEncrypted.Where(o => o.EmailHash == emailHash).ToList());

            _referralLeadRepositoryMock.Setup(o => o.GetByPhoneNumberHashAsync(It.IsAny <int>(), It.IsAny <string>()))
            .ReturnsAsync((int countryPhoneCodeId, string phoneNumberHash) =>
                          _referralLeadsEncrypted.Where(o => o.PhoneNumberHash == phoneNumberHash &&
                                                        o.PhoneCountryCodeId == countryPhoneCodeId).ToList());

            _referralLeadRepositoryMock.Setup(o => o.GetApprovedAsync())
            .ReturnsAsync(() => _referralLeadsEncrypted.Where(o => o.State == ReferralLeadState.Approved).ToList());

            _hashingManagerMock.Setup(o => o.GenerateBase(It.IsAny <string>()))
            .Returns((string value) => value);

            _settingsServiceMock.Setup(o => o.GetLeadConfirmationTokenLength())
            .Returns(() => _confirmationTokenLength);

            _service = new ReferralLeadService(
                _stakeServiceMock.Object,
                _propertyIntegrationClientMock.Object,
                _propertyLeadApprovedReferralPublisherMock.Object,
                _referralLeadRepositoryMock.Object,
                _notificationPublisherServiceMock.Object,
                _settingsServiceMock.Object,
                _hashingManagerMock.Object,
                _agentManagementClientMock.Object,
                _customerProfileClientMock.Object,
                _dictionariesClientMock.Object,
                _propertyPurchaseRepositoryMock.Object,
                _leadStateChangedPublisherMock.Object,
                MapperHelper.CreateAutoMapper(),
                EmptyLogFactory.Instance);
        }