Esempio n. 1
0
        public void WhenAwardingPromoOnClient_ClientSaveDataIsUpdated()
        {
            MockBackend.GetTimeInMs().Returns(1000);
            ILoginPromotionData mockData = Substitute.For <ILoginPromotionData>();
            ISingleLoginPromoProgressSaveData mockProgress = Substitute.For <ISingleLoginPromoProgressSaveData>();

            LoginPromoPopupHelper systemUnderTest = CreateSystem();

            systemUnderTest.AwardPromoOnClient(mockProgress, mockData);

            mockProgress.Received().OnAwarded(1000);
        }
Esempio n. 2
0
        public void ShouldShowPromo_ReturnsAsExpected(bool i_doesHaveUI, bool i_hasRewardsRemaining, bool i_hasClaimedRewardToday, bool i_expected)
        {
            ISingleLoginPromoProgressSaveData mockData        = Substitute.For <ISingleLoginPromoProgressSaveData>();
            LoginPromoPopupHelper             systemUnderTest = CreateSystem();

            MockAllPromosPM.DoesHaveDisplayForPromo(Arg.Any <string>()).Returns(i_doesHaveUI);
            mockData.HasRewardBeenClaimedToday(MockBackend).Returns(i_hasClaimedRewardToday);
            mockData.AreRewardsRemaining(Arg.Any <ILoginPromotionData>()).Returns(i_hasRewardsRemaining);

            bool shouldShow = systemUnderTest.ShouldShowPromoAsPopup(mockData, Substitute.For <ILoginPromotionData>());

            Assert.AreEqual(i_expected, shouldShow);
        }
Esempio n. 3
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> > >());
        }
Esempio n. 4
0
        private LoginPromoPopupHelper CreateSystem()
        {
            LoginPromoPopupHelper systemUnderTest = new LoginPromoPopupHelper(MockRewardSpawner, MockBackend, MockAllPromosPM);

            return(systemUnderTest);
        }