public void TestSubmitCommandOther() { var peerWorkGroupEvaluationToSubmit = new PeerWorkGroupEvaluation { Q1 = false, Q2 = 1, Q3 = 1, Q4 = 1, Q5 = 1, Q6 = 1, Q7 = 1, Q8 = false, Q9 = "" }; var messageToShow = "Error Message"; var dialogShown = false; var messageShown = ""; var stubIDialogService = new StubIDialogService(); stubIDialogService.ShowAsync(async message => { dialogShown = true; messageShown = message; }); PeerWorkGroupEvaluation peerWorkGroupEvaluationSubmitted = null; var submitRequested = false; var stubIPeerWorkGroupEvaluationService = new StubIPeerWorkGroupEvaluationService(); stubIPeerWorkGroupEvaluationService.SubmitAsync( async peerWorkGroupEvaluation => { submitRequested = true; peerWorkGroupEvaluationSubmitted = peerWorkGroupEvaluation; return(new ServiceResult { Status = ServiceResultStatus.NotFound, Message = messageToShow }); }); var peerWorkGroupEvaluationViewModel = new PeerWorkGroupEvaluationViewModel(stubIDialogService, null, stubIPeerWorkGroupEvaluationService, null); peerWorkGroupEvaluationViewModel.PeerWorkGroupEvaluation = peerWorkGroupEvaluationToSubmit; peerWorkGroupEvaluationViewModel.SubmitCommand.Execute(null); Assert.IsTrue(dialogShown); Assert.AreEqual( UvpClient.App.HttpClientErrorMessage + messageToShow, messageShown); Assert.IsTrue(submitRequested); }
public void TestSubmitCommandUnauthorized() { var peerWorkGroupEvaluationToSubmit = new PeerWorkGroupEvaluation { Q1 = false, Q2 = 1, Q3 = 1, Q4 = 1, Q5 = 1, Q6 = 1, Q7 = 1, Q8 = false, Q9 = "" }; var messageToShow = "Error Message"; var dialogShown = false; var stubIDialogService = new StubIDialogService(); stubIDialogService.ShowAsync(async message => { dialogShown = true; }); var submitRequested = false; var stubIPeerWorkGroupEvaluationService = new StubIPeerWorkGroupEvaluationService(); stubIPeerWorkGroupEvaluationService.SubmitAsync( async peerWorkGroupEvaluation => { submitRequested = true; return(new ServiceResult { Status = ServiceResultStatus.Unauthorized }); }); var peerWorkGroupEvaluationViewModel = new PeerWorkGroupEvaluationViewModel(stubIDialogService, null, stubIPeerWorkGroupEvaluationService, null); peerWorkGroupEvaluationViewModel.PeerWorkGroupEvaluation = peerWorkGroupEvaluationToSubmit; peerWorkGroupEvaluationViewModel.SubmitCommand.Execute(null); Assert.IsFalse(dialogShown); Assert.IsTrue(submitRequested); }
public void TestOpenPeerWorkGroupEvaluationCommand() { var peerWorkGroupEvaluationToNavigate = new PeerWorkGroupEvaluation(); var rootFrameNavigated = false; var stubIRootNavigationService = new StubIRootNavigationService(); stubIRootNavigationService.Navigate((type, parameter, transition) => rootFrameNavigated = type == typeof(PeerWorkGroupEvaluationPage) && parameter == peerWorkGroupEvaluationToNavigate && transition == NavigationTransition .DrillInNavigationTransition); var myUvpViewModel = new MyUvpViewModel(null, null, stubIRootNavigationService, null); myUvpViewModel.OpenPeerWorkGroupEvaluationCommand.Execute( peerWorkGroupEvaluationToNavigate); Assert.IsTrue(rootFrameNavigated); }
public void TestSubmitCommand() { var peerWorkGroupEvaluationToSubmit = new PeerWorkGroupEvaluation { Q1 = false, Q2 = 1, Q3 = 1, Q4 = 1, Q5 = 1, Q6 = 1, Q7 = 1, Q8 = false, Q9 = "" }; var messageToShow = "Error Message"; var dialogShown = false; var messageShown = ""; var stubIDialogService = new StubIDialogService(); stubIDialogService.ShowAsync(async message => { dialogShown = true; messageShown = message; }); PeerWorkGroupEvaluation peerWorkGroupEvaluationSubmitted = null; var submitRequested = false; var stubIPeerWorkGroupEvaluationService = new StubIPeerWorkGroupEvaluationService(); stubIPeerWorkGroupEvaluationService.SubmitAsync( async peerWorkGroupEvaluation => { submitRequested = true; peerWorkGroupEvaluationSubmitted = peerWorkGroupEvaluation; return(new ServiceResult { Status = ServiceResultStatus.NoContent }); }); var stubIRootNavigationService = new StubIRootNavigationService(); var backNavigated = false; stubIRootNavigationService.GoBack(() => backNavigated = true); var stubITileService = new StubITileService(); var updateRequested = false; stubITileService.ForceUpdate(() => updateRequested = true); var peerWorkGroupEvaluationViewModel = new PeerWorkGroupEvaluationViewModel(stubIDialogService, stubIRootNavigationService, stubIPeerWorkGroupEvaluationService, stubITileService); peerWorkGroupEvaluationViewModel.PeerWorkGroupEvaluation = peerWorkGroupEvaluationToSubmit; peerWorkGroupEvaluationViewModel.SubmitCommand.Execute(null); Assert.IsTrue(dialogShown); Assert.AreSame( PeerWorkGroupEvaluationViewModel .PeerWorkGroupEvaluationSubmittedMessage, messageShown); Assert.IsTrue(submitRequested); Assert.AreSame(peerWorkGroupEvaluationToSubmit, peerWorkGroupEvaluationSubmitted); Assert.IsTrue(backNavigated); Assert.IsTrue(updateRequested); }
/// <summary> /// 提交组内自评/互评表。 /// </summary> /// <param name="peerWorkGroupEvaluation">组内自评互评表。</param> /// <returns>服务结果。</returns> public async Task <ServiceResult> SubmitAsync( PeerWorkGroupEvaluation peerWorkGroupEvaluation) { var workGroupEvaluationToSubmit = new PeerWorkGroupEvaluation { ID = peerWorkGroupEvaluation.ID, StudentID = peerWorkGroupEvaluation.StudentID, TargetID = peerWorkGroupEvaluation.TargetID, Finished = peerWorkGroupEvaluation.Finished, Q1 = peerWorkGroupEvaluation.Q1, Q2 = peerWorkGroupEvaluation.Q2, Q3 = peerWorkGroupEvaluation.Q3, Q4 = peerWorkGroupEvaluation.Q4, Q5 = peerWorkGroupEvaluation.Q5, Q6 = peerWorkGroupEvaluation.Q6, Q7 = peerWorkGroupEvaluation.Q7, Q8 = peerWorkGroupEvaluation.Q8, Q9 = peerWorkGroupEvaluation.Q9 }; var identifiedHttpMessageHandler = _identityService.GetIdentifiedHttpMessageHandler(); using (var httpClient = new HttpClient(identifiedHttpMessageHandler)) { var json = JsonConvert.SerializeObject(workGroupEvaluationToSubmit); HttpResponseMessage response; try { response = await httpClient.PutAsync( App.ServerEndpoint + "/api/PeerWorkGroupEvaluation/" + peerWorkGroupEvaluation.TargetID, new StringContent(json, Encoding.UTF8, "application/json")); } catch (Exception e) { return(new ServiceResult { Status = ServiceResultStatus.Exception, Message = e.Message }); } var serviceResult = new ServiceResult { Status = ServiceResultStatusHelper.FromHttpStatusCode( response.StatusCode) }; switch (response.StatusCode) { case HttpStatusCode.Unauthorized: case HttpStatusCode.Forbidden: break; case HttpStatusCode.NoContent: break; case HttpStatusCode.BadRequest: serviceResult.Message = await response.Content.ReadAsStringAsync(); break; default: serviceResult.Message = response.ReasonPhrase; break; } return(serviceResult); } }