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()); }
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); } }
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> > >()); }