public void CheckIfFullfiledRequirementTest_ShouldCheckListWhichAlredyContainThisMedalAndReturnEmptyMedalList() { //Arrange SpontaneousUserModel userModelWithMedal = new SpontaneousUserModel() { UserMedalsList = new List<UserMedal>() }; userModelWithMedal.UserMedalsList.Add(new WelcomeUserMedal()); UserActivity userActivity = new PageViewActivity("TestPage"); //Act MedalRequirementsChecker medalChecker = new PlatefulMedalRequirementChecker(); List<UserMedal> userModelWithMedalResult = medalChecker.ObtainMedalBecauseOfActivity(userModelWithMedal, userActivity); //Assert Assert.AreEqual(userModelWithMedalResult.Count, 0); }
public void CheckIfFullfiledRequirementTest_ShouldCheckListWithoutThisMedalAndRequirementForThisMedalNotAchieved_MustReturnNotEmptyMedalList() { //Arrange SpontaneousUserModel userModelWithOutMedal = new SpontaneousUserModel() { UserActivityList = new List<UserActivity>(), UserMedalsList = new List<UserMedal>() }; //Requirement = 3 //for (int i = 0; i < 2; i++) //{ // userModelWithOutMedal.UserActivityList.Add(new PageViewActivity("TestPage")); //} UserActivity userActivity = new PageViewActivity("TestPage"); //Act MedalRequirementsChecker medalChecker = new PlatefulMedalRequirementChecker(); List<UserMedal> userModelWithMedalResult = medalChecker.ObtainMedalBecauseOfActivity(userModelWithOutMedal, userActivity); //Assert Assert.AreEqual(userModelWithMedalResult.Count, 0); }
public void CheckIfFullfiledRequirementTest_ShouldCheckListWithOtherMedalAndReturnNotEmptyMedalList() { //Arrange SpontaneousUserModel userModelWithOtherMedal = new SpontaneousUserModel() { UserActivityList = new List<UserActivity>(), UserMedalsList = new List<UserMedal>() }; for (int i = 0; i < 3; i++) { userModelWithOtherMedal.UserActivityList.Add(new PageViewActivity("TestPage")); } userModelWithOtherMedal.UserMedalsList.Add(new AddRestaurantMedal()); UserActivity userActivity = new PageViewActivity("TestPage"); //Act MedalRequirementsChecker medalChecker = new PlatefulMedalRequirementChecker(); List<UserMedal> userModelWithOtherMedalResult = medalChecker.ObtainMedalBecauseOfActivity(userModelWithOtherMedal, userActivity); //Assert Assert.AreNotEqual(userModelWithOtherMedalResult.Count, 0); }
public void GetCouponForMedal_Should_ResiveUserDataAndFindNearestCouponAccordinlyToActivityLocation() { CouponType tempCoupon1 = new CouponType() { Description = "קפה + מאפה ב15% הנחה במסעדת Nelly's Kitchen. למימוש יש להראות את המסך במסעדה. לפרטי המסעדה לחץ על המדליה", ValidFrom = new DateTime(0), ValidUntil = DateTime.UtcNow.AddHours(1), RestaurantsIDs = new List<string>() { "11111" }, LocationsList = new List<Location>() { new Location(1,1) } }; CouponType tempCoupon2 = new CouponType() { Description = "מנה ראשונה במתנה בהזמנת עיקרית במסעדת BG99. למימוש יש להראות את המסך במסעדה. לפרטי המסעדה לחץ על המדליה", ValidFrom = new DateTime(0), ValidUntil = DateTime.UtcNow.AddHours(1), RestaurantsIDs = new List<string>() { "22222" }, LocationsList = new List<Location>() { new Location(0,0) } }; CouponType tempCoupon3 = new CouponType() { Description = "קפה + מאפה ב15% הנחה במסעדתאכול כפי יכולתך רק ב89 שקל במסעדת קולומבוס", ValidFrom = new DateTime(0), ValidUntil = DateTime.UtcNow.AddHours(1), RestaurantsIDs = new List<string>() { "33333" }, LocationsList = new List<Location>() { new Location(1,1) } }; CouponType tempCoupon4 = new CouponType() { Description = "1+1 על כל בירה מהחבית במסעדת Red Burger Bar, כל יום עד שעה 19:00.", RestaurantsIDs = new List<string>() { "44444" }, ValidFrom = DateTime.UtcNow, ValidUntil = new DateTime(2014, 1, 31), LocationsList = new List<Location>() { new Location(1,1) } }; CouponType tempCoupon5 = new CouponType() { Description = "1+1 על סטייק אנטריקוט, בהזמנה מנה עיקרית ושתייה, במסעדת Red Burger Bar.", RestaurantsIDs = new List<string>() { "55555" }, ValidFrom = DateTime.UtcNow, ValidUntil = new DateTime(2014, 1, 31), LocationsList = new List<Location>() { new Location(32.067141, 34.804314) } }; CouponType tempCoupon6 = new CouponType() { Description = "מנת ילד חינם בהזמנה מנה עיקרית למבוגר במסעדת Palamida, ביום שישי 12:00-16:00", RestaurantsIDs = new List<string>() { "66666" }, ValidFrom = DateTime.UtcNow, ValidUntil = new DateTime(2014, 1, 31), LocationsList = new List<Location>() { new Location(0, 1) } }; CouponType tempCoupon7 = new CouponType() { Description = "ארוחה זוגית ב- 200 שח הארוחה כוללת: - 2 כוסות יין הבית - 2 מרק + לחם הבית - מיקס פירות ים, במסעדת Palamida.", RestaurantsIDs = new List<string>() { "77777" }, ValidFrom = DateTime.UtcNow, ValidUntil = new DateTime(2014, 1, 31), LocationsList = new List<Location>() { new Location(1, 1) } }; string savedCouponId1 = serviceLayer.AddCouponToDB(tempCoupon1); string savedCouponId2 = serviceLayer.AddCouponToDB(tempCoupon2); string savedCouponId3 = serviceLayer.AddCouponToDB(tempCoupon3); string savedCouponId4 = serviceLayer.AddCouponToDB(tempCoupon4); string savedCouponId5 = serviceLayer.AddCouponToDB(tempCoupon5); string savedCouponId6 = serviceLayer.AddCouponToDB(tempCoupon6); string savedCouponId7 = serviceLayer.AddCouponToDB(tempCoupon7); UserActivity activity1 = new PageViewActivity("test") { ActivityLocation = new Location(1, 1) }; UserActivity activity2 = new PageViewActivity("test") { ActivityLocation = new Location(32.067141, 34.804314) }; SpontaneousUserModel userModel = new SpontaneousUserModel() { UserMedalsList = new List<UserMedal>() }; userModel.UserMedalsList.Add(new WelcomeUserMedal() { Coupon = tempCoupon1 }); userModel.UserMedalsList.Add(new RestaurantAdviserMedal() { Coupon = tempCoupon2 }); userModel.UserMedalsList.Add(new WelcomeUserMedal() { Coupon = tempCoupon3 }); userModel.UserMedalsList.Add(new RestaurantAdviserMedal() { Coupon = tempCoupon4 }); //Act CouponType coupon1 = serviceLayer.GetCoupon(userModel, activity1); CouponType coupon2 = serviceLayer.GetCoupon(userModel, activity2); // clean DB from temp coupons serviceLayer.DeleteCoupon(savedCouponId1); serviceLayer.DeleteCoupon(savedCouponId2); serviceLayer.DeleteCoupon(savedCouponId3); serviceLayer.DeleteCoupon(savedCouponId4); serviceLayer.DeleteCoupon(savedCouponId5); serviceLayer.DeleteCoupon(savedCouponId6); serviceLayer.DeleteCoupon(savedCouponId7); //Assert Assert.IsNotNull(coupon1); //Assert.AreNotEqual(coupon.Id, tempCoupon1.Id); Assert.AreNotEqual(coupon1.Id.ToString(), savedCouponId1); Assert.AreNotEqual(coupon1.Id.ToString(), savedCouponId2); Assert.AreNotEqual(coupon1.Id.ToString(), savedCouponId3); Assert.AreNotEqual(coupon1.Id.ToString(), savedCouponId4); Assert.AreNotEqual(coupon1.Id.ToString(), savedCouponId5); Assert.AreNotEqual(coupon1.Id.ToString(), savedCouponId6); Assert.AreEqual(coupon1.Id.ToString(), savedCouponId7); Assert.AreEqual(coupon1.Description, tempCoupon7.Description); }
public void RestaurantAdviserCheckIfFullfiledRequirementTest_ShouldCheckListWithoutThisMedalAndCalledWithWrongActivityType_MustReturnEmptyMedalList() { //Arrange SpontaneousUserModel userModel = new SpontaneousUserModel() { UserActivityList = new List<UserActivity>(), UserMedalsList = new List<UserMedal>() }; UserActivity userActivity = new PageViewActivity("TestPage"); //Act RestaurantAdviserChecker restaurantAdviserChecker = new RestaurantAdviserChecker(); UserMedal userMedalResult = restaurantAdviserChecker.CheckIfFullfiledRequirement(userModel, userActivity); //Assert Assert.IsNull(userMedalResult); }