private void SendingReview(int karma) { var mngr = UserReviewSystemManager.NewUserReviewPoster(); mngr.Result += (status, review) => { Device.BeginInvokeOnMainThread(async() => { if (status == UserReviewManageStatus.Success) { DependencyService.Get <IToast>().LongToast("Atsiliepimas išsiųstas"); if (Navigation.NavigationStack.Contains(this)) { await Navigation.PopAsync(); } } else { buttonNegativeReview.IsEnabled = true; buttonPositiveReview.IsEnabled = true; await Application.Current.MainPage.DisplayAlert("Klaida", "Atsiliepimas neišsiųstas, bandykite dar kartą", "tęsti"); } }); }; mngr.Post( new UserReview() { Username = user.Username, Karma = karma, Message = Description.Text }); buttonNegativeReview.IsEnabled = false; buttonPositiveReview.IsEnabled = false; }
public void UserReviewFullTest() { LocalUser user = UnitTestAuth.Login(); var getStatus = UserReviewsGetStatus.UnknownError; var postStatus = UserReviewManageStatus.UnknownError; var removeStatus = UserReviewManageStatus.UnknownError; bool done = false; UserReview review = null; List <UserReview> userReviews = null; Dictionary <String, User> users = null; var random = new Random(); var message = random.Next().ToString(); var getter = UserReviewSystemManager.NewUserReviewGetter(); getter.Result += (_status, _userReviews, _users) => { getStatus = _status; userReviews = _userReviews; users = _users; done = true; }; var poster = UserReviewSystemManager.NewUserReviewPoster(); poster.Result += (_status, _review) => { postStatus = _status; review = _review; done = true; }; var remover = UserReviewSystemManager.NewUserReviewRemover(); remover.Result += (_status, _review) => { removeStatus = _status; review = _review; done = true; }; /// Siunčiam review done = false; poster.Post(new UserReview { Username = "******", Message = message, Karma = 1 }); while (!done) { } Assert.AreEqual(postStatus, UserReviewManageStatus.Success); Assert.AreNotEqual(review, null); /// /// Gaunam reviews ir patikrinam ar esam sąraše done = false; getter.Get("test4", true); while (!done) { } Assert.AreEqual(getStatus, UserReviewsGetStatus.Success); Assert.AreNotEqual(users, null); Assert.AreNotEqual(users[user.Username], null); Assert.AreNotEqual(userReviews, null); Assert.AreNotEqual(userReviews.Find((_review) => _review.Username == user.Username && _review.Message == message), null); /// /// Trinam review done = false; remover.Remove(new UserReview { Username = "******", }); while (!done) { } Assert.AreEqual(removeStatus, UserReviewManageStatus.Success); Assert.AreNotEqual(review, null); /// /// Gaunam reviews ir patikrinam ar nesam sąraše done = false; getter.Get("test4", true); while (!done) { } Assert.AreEqual(getStatus, UserReviewsGetStatus.Success); Assert.AreNotEqual(users, null); Assert.AreNotEqual(userReviews, null); Assert.AreEqual(userReviews.Find((_review) => _review.Username == user.Username && _review.Message == message), null); /// }