Exemplo n.º 1
0
        public void getMemberListFromTheCloudTest()
        {
            LoyaltyMember target = new LoyaltyMember();
            DTO_LoyaltyMemberListResponse actual;

            actual = target.getMemberListFromTheCloud(inSyndicateCode, inSiteID);
            Assert.IsTrue(actual.MemberList.Length > 0);
        }
Exemplo n.º 2
0
        public void PostTransactionTest()
        {
            LoyaltyMember       target      = new LoyaltyMember();
            DTO_TransactionInfo transaction = createTransactionObject();
            DTO_LoyaltyResponse actual;

            actual = target.PostTransaction(inSyndicateCode, inSiteID, transaction);
            Assert.IsTrue(actual.ResponseCode == LoyaltyResponseCode.Successful);
        }
Exemplo n.º 3
0
        public void UpdateTest()
        {
            LoyaltyMember  target = new LoyaltyMember();
            DTO_MemberInfo inInfo = target.Get(inSyndicateCode, inSiteID, inUUID).MemberInfo;

            inInfo.DateOfBirth  = DateTime.Parse("1986/12/04");
            inInfo.CellPhone    = "0221239584";
            inInfo.Name         = "Nadun";
            inInfo.EMailAddress = "*****@*****.**";
            inInfo.Activated    = true;
            bool inForceCreate = true;
            DTO_LoyaltyMemberResponse actual;

            actual = target.Update(inSyndicateCode, inSiteID, inInfo, inForceCreate);
            Assert.IsTrue(actual.ResponseCode == LoyaltyResponseCode.Successful);
        }
        /// <summary>
        /// Passenger Factory method.
        /// Initializes instance of Passenger Class.
        /// </summary>
        /// <param name="passengerId"></param>
        /// <param name="isUsingLoyalty"></param>
        /// <param name="LoyaltyPoints"></param>
        /// <param name="hasExtraBags"></param>
        /// <returns></returns>
        private static IPassengerDetails GetPassengerType(string passengerId, bool isUsingLoyalty, int LoyaltyPoints, bool hasExtraBags)
        {
            IPassengerDetails passenger;

            switch (passengerId)
            {
            case "airline":
                passenger = new AirlineEmployee(new FlightSummaryValidator());
                break;

            case "general":
                passenger = new GeneralPassenger(new FlightSummaryValidator());
                break;

            case "loyalty":
                passenger = new LoyaltyMember(new LoyaltyBenefits(isUsingLoyalty, LoyaltyPoints, hasExtraBags), new FlightSummaryValidator());
                break;

            default: throw new Exception();
            }
            return(passenger);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Create a person and split their data up amongst the enterprise
        /// This data will be joined together in the Customer 360 system
        /// Not every person will necessarily be in all three systems
        /// But they should be in at least the loyalty system OR the home delivery system
        /// </summary>
        /// <returns>email address of the person created</returns>
        public string PopulateAPersonAcrossEnterprise()
        {
            // base data to be shared/matched across enterprise
            var firstName = Faker.Name.First();
            var lastName  = Faker.Name.Last();
            var email     = Faker.Internet.Email(firstName + " " + lastName);

            // generate a loyalty member
            var member = new LoyaltyMember();

            member.Password  = Path.GetRandomFileName();
            member.FirstName = firstName;
            member.LastName  = lastName;
            member.Email     = email;
            member.Points    = Faker.RandomNumber.Next(1, 100);

            // generate a home delivery customer
            var homeDeliveryCustomer = new HomeDeliveryCustomer();

            homeDeliveryCustomer.Name         = firstName + " " + lastName;         // same name
            homeDeliveryCustomer.Email        = email;                              // same email
            homeDeliveryCustomer.Password     = Path.GetRandomFileName();           // different password
            homeDeliveryCustomer.AddressLine1 = Faker.Address.StreetAddress();
            if ((Faker.RandomNumber.Next(0, 100) % 2) == 0)
            {
                homeDeliveryCustomer.AddressLine2 = Faker.Address.SecondaryAddress();
            }
            homeDeliveryCustomer.City        = Faker.Address.City();
            homeDeliveryCustomer.State       = Faker.Address.UsStateAbbr();
            homeDeliveryCustomer.ZipCode     = Faker.Address.ZipCode();
            homeDeliveryCustomer.PhoneNumber = Faker.Phone.Number();

            var onlineStoreCustomer = new OnlineCustomerDetails();

            onlineStoreCustomer.Name     = firstName + " " + lastName;              // same name
            onlineStoreCustomer.Email    = email;                                   // same email
            onlineStoreCustomer.Password = Path.GetRandomFileName();                // different password

            // randomly decide if the person will be:
            //  in loyalty system
            //  in home delivery system
            //  or both
            var isInLoyaltySystem      = false;
            var isInHomeDeliverySystem = false;
            var dice = Faker.RandomNumber.Next(1, 100);

            if (dice < 33)
            {
                isInLoyaltySystem      = true;
                isInHomeDeliverySystem = true;
            }
            else if (dice > 67)
            {
                isInLoyaltySystem      = false;
                isInHomeDeliverySystem = true;
            }
            else
            {
                isInLoyaltySystem      = true;
                isInHomeDeliverySystem = false;
            }

            // and whether they will be in the online store
            var isInOnlineStoreSystem = (Faker.RandomNumber.Next(1, 100) < 50);

            if (isInLoyaltySystem)
            {
                _loyaltyDb.Execute(@"INSERT INTO members (password, fname, lname, email, points) VALUES (@Password,@FirstName,@LastName,@Email,@Points);", member);
            }

            if (isInHomeDeliverySystem)
            {
                _homeDeliveryDb.Execute(
                    @"INSERT INTO customers (name, email, password, address_line_1, address_line_2, city, state, zipcode, phonenumber) VALUES (
                        @Name, @Email, @Password, @AddressLine1, @AddressLine2, @City, @State, @ZipCode, @PhoneNumber);",
                    homeDeliveryCustomer);
            }

            if (isInOnlineStoreSystem)
            {
                var customerDetailsId = _onlineStoreDb.Query <int>(
                    "INSERT INTO customer_details (password, email, name) VALUES (@Password, @Email, @Name); SELECT last_insert_rowid() AS customerId",
                    onlineStoreCustomer).First();

                CreateOrders(customerDetailsId);
            }

            return(email);
        }
 public void Setup()
 {
     _iPassengerDetails = Substitute.For <IPassengerDetails>();
     _loyaltyBenefits   = new LoyaltyBenefits(true, 50, true);
     _generalPassenger  = new LoyaltyMember(_loyaltyBenefits, new FlightSummaryValidator());
 }