public void GetMethodsForData_ReturnAsExpected()
        {
            MockData.GetPromoPrefab().Returns("TestPrefab");
            MockData.GetId().Returns("TestId");

            SingleLoginPromoDisplayPM systemUnderTest = CreateSystem();

            Assert.AreEqual("TestPrefab", systemUnderTest.GetPrefab());
            Assert.AreEqual("TestId", systemUnderTest.GetId());
        }
Exemple #2
0
        public void GettingListOfActivePromoSaveData_ReturnsAsExpected()
        {
            // this test kind of sucks. I think I've learned my lesson. Nothing should have a List<T>, it should have a structure that
            // holds a List<T> I think, so I can easier mock its functionality
            Dictionary <string, ILoginPromotionData> mockActiveData = new Dictionary <string, ILoginPromotionData>();
            ILoginPromotionData mockData_1 = Substitute.For <ILoginPromotionData>();

            mockData_1.GetId().Returns("A");
            ILoginPromotionData mockData_2 = Substitute.For <ILoginPromotionData>();

            mockData_2.GetId().Returns("C");
            mockActiveData.Add("A", mockData_1);
            mockActiveData.Add("C", mockData_2);
            systemUnderTest.ActivePromotionData = mockActiveData;

            Dictionary <string, ISingleLoginPromoProgressSaveData> mockSaveProgress = new Dictionary <string, ISingleLoginPromoProgressSaveData>();
            ISingleLoginPromoProgressSaveData mockSave_1 = Substitute.For <ISingleLoginPromoProgressSaveData>();
            ISingleLoginPromoProgressSaveData mockSave_2 = Substitute.For <ISingleLoginPromoProgressSaveData>();
            ISingleLoginPromoProgressSaveData mockSave_3 = Substitute.For <ISingleLoginPromoProgressSaveData>();

            mockSaveProgress.Add("A", mockSave_1);
            mockSaveProgress.Add("C", mockSave_2);
            mockSaveProgress.Add("B", mockSave_3);
            systemUnderTest.PromoProgress = mockSaveProgress;

            List <ISingleLoginPromoProgressSaveData> result = systemUnderTest.GetActivePromoSaveData();

            Assert.Contains(mockSave_1, result);
            Assert.Contains(mockSave_2, result);
            Assert.AreEqual(2, result.Count);
        }
        public void AwardPromoOnServer(ILoginPromotionData i_promoData)
        {
            Dictionary <string, string> cloudParams = new Dictionary <string, string>();

            cloudParams.Add(PROMO_ID, i_promoData.GetId());

            mBackend.MakeCloudCall(BackendMethods.UPDATE_LOGIN_PROMO_PROGRESS, cloudParams, (result) => { });
        }
        public bool ShouldShowPromoAsPopup(ISingleLoginPromoProgressSaveData i_promoProgress, ILoginPromotionData i_promoData)
        {
            bool doesHaveUI                = mAllPromosPM.DoesHaveDisplayForPromo(i_promoData.GetId());
            bool areRewardsRemaining       = i_promoProgress.AreRewardsRemaining(i_promoData);
            bool hasRewardBeenClaimedToday = i_promoProgress.HasRewardBeenClaimedToday(mBackend);

            return(doesHaveUI && areRewardsRemaining && !hasRewardBeenClaimedToday);
        }
        public void WhenOpenDisplayClicked_MainPM_IsNotified()
        {
            MockData.GetId().Returns("TestId");
            ActiveLoginPromoButtonPM systemUnderTest = CreateSystem();

            systemUnderTest.OpenDisplayClicked();

            MockDisplayPM.Received().DisplayPromoAndHideOthers("TestId");
        }
        public void AddToActivePromosIfActive(ILoginPromotionData i_promo)
        {
            bool isActive = i_promo.IsActive(mBackend.GetDateTime());

            if (isActive)
            {
                ActivePromotionData.Add(i_promo.GetId(), i_promo);
            }
        }
Exemple #7
0
        public void WhenAwardingPromoOnServer_ProperBackendCall_IsMade()
        {
            ILoginPromotionData mockData = Substitute.For <ILoginPromotionData>();

            mockData.GetId().Returns("TestId");

            LoginPromoPopupHelper systemUnderTest = CreateSystem();

            systemUnderTest.AwardPromoOnServer(mockData);

            MockBackend.Received().MakeCloudCall(BackendMethods.UPDATE_LOGIN_PROMO_PROGRESS,
                                                 Arg.Is <Dictionary <string, string> >(x => x.ContainsKey(LoginPromoPopupHelper.PROMO_ID) && x[LoginPromoPopupHelper.PROMO_ID] == "TestId"),
                                                 Arg.Any <Callback <Dictionary <string, string> > >());
        }