Example #1
0
        public void SetupCalls()
        {
            CustomerProfileMock.Setup(c => c.CustomerProfiles.GetByCustomerIdAsync(CustomerId.ToString(), false, false))
            .ReturnsAsync(() => CustomerProfileResponse);

            CustomerProfileMock.Setup(c => c.ReferralHotelProfiles.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync((Guid referralHotelId) => ReferralHotelProfileResponse);

            SmsEventMock.Setup(c => c.PublishAsync(It.IsAny <SmsEvent>()))
            .Returns(Task.CompletedTask);

            UrlShortenerClientMock.Setup(c => c.UrlShorteningApi.ShortenUrlAsync(It.IsAny <ShortenUrlRequestModel>()))
            .ReturnsAsync(() => ShortenUrlResponseModel);
        }
        public void SetupCalls()
        {
            ReferralLeadRepositoryMock.Setup(c => c.CreateAsync(It.IsAny <ReferralLeadEncrypted>()))
            .ReturnsAsync((ReferralLeadEncrypted c) => c);

            ReferralLeadRepositoryMock.Setup(c => c.GetAsync(It.IsAny <Guid>()))
            .ReturnsAsync((Guid c) => ReferralLeads.SingleOrDefault(x => c == x.Id));

            ReferralLeadRepositoryMock.Setup(c => c.DoesExistAsync(It.IsAny <Guid>()))
            .ReturnsAsync(() => ReferralLead != null);

            ReferralLeadRepositoryMock.Setup(c => c.UpdateAsync(It.IsAny <ReferralLeadEncrypted>()))
            .ReturnsAsync((ReferralLeadEncrypted c) => c);

            ReferralLeadRepositoryMock.Setup(c => c.GetForReferrerAsync(It.IsAny <Guid>(), null, null))
            .ReturnsAsync(() => ReferralLeadsWithDetails);

            ReferralLeadRepositoryMock.Setup(c => c.GetByEmailHashAsync(It.IsAny <string>()))
            .ReturnsAsync((string s) => ReferralLeads.Where(x => x.EmailHash == s).ToList());

            ReferralLeadRepositoryMock.Setup(c => c.GetByPhoneNumberHashAsync(It.IsAny <int>(), It.IsAny <string>()))
            .ReturnsAsync((int cc, string s) => ReferralLeads.Where(x => x.PhoneNumberHash == s).ToList());

            ReferralLeadRepositoryMock.Setup(c => c.GetByConfirmationTokenAsync(It.IsAny <string>()))
            .ReturnsAsync((string s) => ReferralLeads.SingleOrDefault(x => x.ConfirmationToken == s));

            HashingManagerMock.Setup(c => c.GenerateBase(It.IsAny <string>()))
            .Returns(() => ConfirmationToken);

            SettingsServiceMock.Setup(c => c.GetLeadConfirmationTokenLength())
            .Returns(() => 6);

            NotificationPublisherServiceMock.Setup(c =>
                                                   c.LeadConfirmRequestAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(() => Task.CompletedTask);

            NotificationPublisherServiceMock.Setup(c =>
                                                   c.LeadAlreadyConfirmedAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(),
                                                                               It.IsAny <string>()))
            .Returns(() => Task.CompletedTask);

            NotificationPublisherServiceMock.Setup(c =>
                                                   c.LeadSuccessfullyConfirmedAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(),
                                                                                    It.IsAny <string>()))
            .Returns(() => Task.CompletedTask);

            PropertyIntegrationClientMock.Setup(c => c.Api.RegisterLeadAsync(It.IsAny <LeadRegisterRequestModel>()))
            .ReturnsAsync(() => new LeadRegisterResponseModel
            {
                ErrorCode    = "",
                SalesforceId = SalesforceId,
                Status       = ResponseStatus
            });

            AgentManagementServiceMock.Setup(c => c.Agents.GetByCustomerIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(() => new AgentModel
            {
                Status = AgentStatus
            });

            EventPublisher.Setup(c => c.PublishAsync(It.IsAny <PropertyLeadApprovedReferralEvent>()))
            .Returns(() => Task.CompletedTask);

            LeadStateChangePublisherMock.Setup(c => c.PublishAsync(It.IsAny <LeadStateChangedEvent>()))
            .Returns(() => Task.CompletedTask);

            CustomerProfileMock.Setup(c => c.CustomerProfiles.GetByCustomerIdAsync(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>()))
            .ReturnsAsync(() => new CustomerProfileResponse
            {
                Profile   = new CustomerProfile.Client.Models.Responses.CustomerProfile(),
                ErrorCode = ShouldFindAgentsCustomerProfile ? CustomerProfileErrorCodes.None : CustomerProfileErrorCodes.CustomerProfileDoesNotExist
            });

            CustomerProfileMock.Setup(c => c.ReferralLeadProfiles.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync((Guid referralLeadId) => ReferralLeadProfileResponse);

            CustomerProfileMock.Setup(c => c.ReferralLeadProfiles.AddAsync(It.IsAny <ReferralLeadProfileRequest>()))
            .ReturnsAsync((ReferralLeadProfileRequest request) => new ReferralLeadProfileResponse
            {
                ErrorCode = ReferralLeadProfileErrorCodes.None
            });

            DictionariesClientMock.Setup(c => c.Salesforce.GetCountryPhoneCodeByIdAsync(It.IsAny <int>()))
            .ReturnsAsync(() =>
                          new CountryPhoneCodeModel {
                Id = 359, Code = "359", CountryName = "Bulgaria", IsoCode = "+359"
            }
                          );

            StakeServiceMock.Setup(c => c.GetReferralStake(It.IsAny <Guid?>(), It.IsAny <string>()))
            .ReturnsAsync(() => new ReferralStake());

            StakeServiceMock.Setup(c => c.SetStake(It.IsAny <ReferralStake>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Task.CompletedTask);
        }