コード例 #1
0
 public CommonReferralService(
     //IReferralLeadService referralLeadService,
     IReferralHotelsService referralHotelsService,
     IFriendReferralService friendReferralService,
     IMapper mapper)
 {
     //_referralLeadService = referralLeadService;
     _referralHotelsService = referralHotelsService;
     _friendReferralService = friendReferralService;
     _mapper = mapper;
 }
コード例 #2
0
 public ReferralHotelsController(
     IReferralHotelsService referralHotelsService,
     IDemoHotelService demoHotelService,
     ICustomerProfileClient customerProfileClient,
     ISettingsService settingsService,
     IMapper mapper,
     ILogFactory logFactory)
     : base(settingsService, logFactory)
 {
     _referralHotelsService = referralHotelsService;
     _mapper                = mapper;
     _demoHotelService      = demoHotelService;
     _customerProfileClient = customerProfileClient;
 }
        public ReferralHotelsServiceTests()
        {
            _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,
                Profile   = new CustomerProfile.Client.Models.Responses.CustomerProfile
                {
                    Email      = _customerEmail,
                    CustomerId = customerId
                }
            });

            _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.CustomerProfileDoesNotExist
            });

            _customerProfileClientMock
            .Setup(o => o.ReferralHotelProfiles.AddAsync(It.IsAny <ReferralHotelProfileRequest>()))
            .ReturnsAsync((ReferralHotelProfileRequest referralHotelProfileRequest) =>
                          new ReferralHotelProfileResponse {
                ErrorCode = ReferralHotelProfileErrorCodes.None
            });

            _customerProfileClientMock.Setup(o => o.ReferralHotelProfiles
                                             .GetByIdAsync(It.Is <Guid>(referralId => referralId == _referralId)))
            .ReturnsAsync((Guid referralId) => new ReferralHotelProfileResponse
            {
                ErrorCode = ReferralHotelProfileErrorCodes.None,
                Data      = new ReferralHotelProfile {
                    ReferralHotelId = _referralId, Email = _email
                }
            });

            _customerProfileClientMock.Setup(o => o.ReferralHotelProfiles
                                             .GetByIdAsync(It.Is <Guid>(referralId => referralId != _referralId)))
            .ReturnsAsync((Guid referralId) => new ReferralHotelProfileResponse
            {
                ErrorCode = ReferralHotelProfileErrorCodes.ReferralHotelProfileDoesNotExist
            });

            _referralHotelsRepositoryMock.Setup(o => o.GetByReferrerIdAsync(It.IsAny <string>()))
            .ReturnsAsync((string referralId) =>
                          _referralHotelsEncrypted.Where(o => o.ReferrerId == referralId).ToList());

            _referralHotelsRepositoryMock.Setup(o =>
                                                o.GetByEmailHashAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync((string emailHash, string partnerId, string location) =>
            {
                var expression = _referralHotelsEncrypted.Where(o => o.EmailHash == emailHash);

                if (!string.IsNullOrEmpty(partnerId))
                {
                    expression = expression.Where(o => o.PartnerId == partnerId);
                }

                if (!string.IsNullOrEmpty(location))
                {
                    expression = expression.Where(o => o.Location == location);
                }

                return(expression.ToList());
            });

            _referralHotelsRepositoryMock.Setup(o => o.CreateAsync(It.IsAny <ReferralHotelEncrypted>()))
            .ReturnsAsync((ReferralHotelEncrypted referralHotelEncrypted) =>
            {
                referralHotelEncrypted.Id = _referralId.ToString();
                referralHotelEncrypted.CreationDateTime = DateTime.UtcNow;

                return(referralHotelEncrypted);
            });

            _referralHotelsRepositoryMock.Setup(o => o.UpdateAsync(It.IsAny <ReferralHotelEncrypted>()))
            .ReturnsAsync((ReferralHotelEncrypted referralHotelEncrypted) => referralHotelEncrypted);

            _referralHotelsRepositoryMock.Setup(o => o.GetByConfirmationTokenAsync(It.IsAny <string>()))
            .ReturnsAsync((string confirmationToken) =>
                          _referralHotelsEncrypted.SingleOrDefault(o => o.ConfirmationToken == confirmationToken));

            _currencyConverterClientMock.Setup(o => o.Converter.ConvertAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <decimal>()))
            .ReturnsAsync(new ConverterResponse()
            {
                ErrorCode = ConverterErrorCode.None
            });

            _partnerManagementClientMock.Setup(o => o.Partners.GetByIdAsync(It.IsAny <Guid>()))
            .ReturnsAsync(new PartnerDetailsModel());

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

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

            _service = new ReferralHotelsService(
                _stakeServiceMock.Object,
                _customerProfileClientMock.Object,
                _currencyConverterClientMock.Object,
                _campaignClientMock.Object,
                _partnerManagementClientMock.Object,
                _rabbitPublisherMock.Object,
                _notificationPublisherServiceMock.Object,
                _referralHotelsRepositoryMock.Object,
                _settingsServiceMock.Object,
                _hashingManagerMock.Object,
                _referralExpirationPeriod,
                _referralLimitPeriod,
                _referralLimit,
                MapperHelper.CreateAutoMapper(),
                "AED",
                EmptyLogFactory.Instance);
        }