コード例 #1
0
        public void SaveMembershipOrderShouldPersistAnOrderAndReturnTheId()
        {
            var membershipOffer = new MembershipOffer();

            membershipOffer.Id = 1;

            var membershipOrder = new MembershipOrder();

            membershipOrder.FirstName        = "firstname";
            membershipOrder.LastName         = "lastname";
            membershipOrder.EmailAddress     = "*****@*****.**";
            membershipOrder.DateOfBirth      = new DateTime(1980, 1, 1);
            membershipOrder.CreditCardNumber = "4444444444444";
            membershipOrder.CreditCardType   = CreditCardType.Visa;
            membershipOrder.MembershipOffer  = membershipOffer;
            membershipOrder.DateCreated      = new DateTime(2000, 1, 1);

            var newOrderId = _orderRepository.SaveMembershipOrder(membershipOrder);

            Assert.That(newOrderId, Is.Not.EqualTo(0));
            Assert.That(newOrderId, Is.EqualTo(membershipOrder.OrderId));

            var database = Database.Open("IntegrationTests.Properties.Settings.TDDWithMVCConnectionString");

            var insertedOrder = database.QuerySingle("SELECT * FROM MembershipOrder WHERE Id = @0", newOrderId);

            Assert.AreEqual(insertedOrder.FirstName, "firstname");
            Assert.AreEqual(insertedOrder.LastName, "lastname");
            Assert.AreEqual(insertedOrder.EmailAddress, "*****@*****.**");
            Assert.AreEqual(insertedOrder.DateOfBirth, new DateTime(1980, 1, 1));
            Assert.AreEqual(insertedOrder.CreditCardNumber, "4444444444444");
            Assert.AreEqual(insertedOrder.CreditCardTypeCode, CreditCardType.Visa.Code);
            Assert.AreEqual(insertedOrder.MembershipOfferId, membershipOffer.Id);
            Assert.AreEqual(insertedOrder.DateCreated, new DateTime(2000, 1, 1));
        }
コード例 #2
0
        public void HydrateIndexModelShouldSetTheCreditCardTypesAndMembershipOptions()
        {
            var indexModel = new IndexModel();

            var membershipOffers = new MembershipOffer[0];

            _mockOrderRepository.Setup(
                repos => repos.GetAllActiveMembershipOffers())
            .Returns(membershipOffers);

            var membershipOptionModels = new MembershipOptionModel[0];

            _mockIndexModelMapper.Setup(
                mapper => mapper.MapDomainToModels(
                    membershipOffers))
            .Returns(membershipOptionModels);

            var selectListItems = new SelectListItem[0];

            _mockCreditCardListItemMapper.Setup(
                mapper => mapper.MapCreditCardsToListItems(
                    It.IsAny <CreditCardType[]>()))
            .Returns(selectListItems);

            _indexModelRepository.HydrateIndexModel(
                indexModel);

            Assert.That(indexModel.MembershipOptions, Is.EqualTo(membershipOptionModels));
            Assert.That(indexModel.CreditCardTypes, Is.EqualTo(selectListItems));
        }
コード例 #3
0
 private void MapQueryToMembershipOffer(MembershipOffer membershipOffer, dynamic membershipOfferData)
 {
     membershipOffer.Id            = membershipOfferData.Id;
     membershipOffer.InternalName  = membershipOfferData.InternalName;
     membershipOffer.ExternalName  = membershipOfferData.ExternalName;
     membershipOffer.DiscountPrice = membershipOfferData.DiscountPrice;
     membershipOffer.Price         = membershipOfferData.Price;
     membershipOffer.IsActive      = membershipOfferData.IsActive;
     membershipOffer.TermInMonths  = membershipOfferData.TermInMonths;
     membershipOffer.TermInYears   = membershipOfferData.TermInYears;
 }
コード例 #4
0
        public MembershipOffer GetMembershipOfferById(int id)
        {
            var membershipOffer = new MembershipOffer();

            RunDatabaseOperation(
                database =>
            {
                var membershipOfferData = database.QuerySingle("SELECT * FROM MembershipOffer WHERE Id = @0", id);

                MapQueryToMembershipOffer(membershipOffer, membershipOfferData);
            });

            return(membershipOffer);
        }
コード例 #5
0
        public MembershipOffer[] GetAllActiveMembershipOffers()
        {
            var membershipOffer000 = new MembershipOffer();

            membershipOffer000.Id            = 1;
            membershipOffer000.InternalName  = "MEM53158813";
            membershipOffer000.ExternalName  = "Highfaluting Membership 1 Year";
            membershipOffer000.DiscountPrice = 59;
            membershipOffer000.Price         = 99;
            membershipOffer000.IsActive      = true;
            membershipOffer000.TermInMonths  = 12;
            membershipOffer000.TermInYears   = 1;

            var membershipOffer001 = new MembershipOffer();

            membershipOffer001.Id            = 2;
            membershipOffer001.InternalName  = "MEM0876443";
            membershipOffer001.ExternalName  = "Highfaluting Membership 2 Years";
            membershipOffer001.DiscountPrice = 159;
            membershipOffer001.Price         = 198;
            membershipOffer001.IsActive      = true;
            membershipOffer001.TermInMonths  = 24;
            membershipOffer001.TermInYears   = 2;

            var membershipOffer002 = new MembershipOffer();

            membershipOffer002.Id            = 3;
            membershipOffer002.InternalName  = "MEM6235499";
            membershipOffer002.ExternalName  = "Highfaluting Membership 3 Years";
            membershipOffer002.DiscountPrice = 209;
            membershipOffer002.Price         = 259;
            membershipOffer002.IsActive      = true;
            membershipOffer002.TermInMonths  = 36;
            membershipOffer002.TermInYears   = 3;

            var membershipOffers = new MembershipOffer[3];

            membershipOffers[0] = membershipOffer000;
            membershipOffers[1] = membershipOffer001;
            membershipOffers[2] = membershipOffer002;

            return(membershipOffers);
        }
コード例 #6
0
        public MembershipOffer GetMembershipOfferById(int id)
        {
            if (id == 1)
            {
                var membershipOffer000 = new MembershipOffer();

                membershipOffer000.Id            = 1;
                membershipOffer000.InternalName  = "MEM53158813";
                membershipOffer000.ExternalName  = "Highfaluting Membership 1 Year";
                membershipOffer000.DiscountPrice = 59;
                membershipOffer000.Price         = 99;
                membershipOffer000.IsActive      = true;
                membershipOffer000.TermInMonths  = 12;
                membershipOffer000.TermInYears   = 1;

                return(membershipOffer000);
            }

            return(null);
        }
コード例 #7
0
        public MembershipOffer[] GetAllActiveMembershipOffers()
        {
            var membershipOffers = new List <MembershipOffer>();

            RunDatabaseOperation(
                database =>
            {
                var membershipOfferDatas = database.Query("SELECT * FROM MembershipOffer");

                foreach (var membershipOfferData in membershipOfferDatas)
                {
                    var membershipOffer = new MembershipOffer();

                    MapQueryToMembershipOffer(membershipOffer, (object)membershipOfferData);

                    membershipOffers.Add(membershipOffer);
                }
            });

            return(membershipOffers.ToArray());
        }