public void SignInActivityTest() { #region 設定測試參數 var testTokenValue = Guid.Parse("4a01b7ed-27d7-4312-9a63-71c53a70dc81"); var testStudentToken = Guid.Parse("c5f6f98b-2923-4b38-bb8c-b782f40a109b"); var testCircleKey = "9999testcourse"; var testOuterKey = string.Empty; var testPwd = string.Empty; var testBeaconKey = "61eb8d82-c4dc-404b-8598-ee48378764fb_12345_67890"; var testDuration = 1; var testStuId = 5;//學生編號 var testStatus = 2; #endregion //呼叫測試methods var signIn_CreateActivity = hub.SignIn_CreateActivity(testTokenValue, testCircleKey, testBeaconKey, testDuration).Result; //建立點名活動 testOuterKey = signIn_CreateActivity.Data.OuterKey.ToString(); // var signIn_StopEvent = hub.SignIn_StopEvent(testCircleKey, testTokenValue, testOuterKey);//停止點名 //var signIn_StartEvent = hub.SignIn_StartEvent(testCircleKey, testTokenValue, testOuterKey);//開始點名 var signIn_PasswordRefresh = hub.SignIn_PasswordRefresh(testCircleKey, testTokenValue, testOuterKey); //修改點名驗證碼 testPwd = signIn_PasswordRefresh.Data; var signIn_PasswordSignIn = hub.SignIn_PasswordSignIn(testCircleKey, testStudentToken, testOuterKey, testPwd); //學生點名 hub.SignIn_StopEvent(testCircleKey, testTokenValue, testOuterKey); //停止點名 var signIn_LoadMembers = hub.SignIn_LoadMembers(testOuterKey); //取得點名成員列表 var signIn_LoadMembersResponseData = signIn_LoadMembers as BaseResponse <SignInEvent>; hub.SignIn_Modify(testCircleKey, testTokenValue, testOuterKey, testStuId, testStatus);//老師修改點名狀態 //驗證server signIn_CreateActivity的caller資料 client.Verify(m => m.appendActivity(It.IsAny <ActivitysViewModel>(), It.IsAny <string>())); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsInstanceOfType(signIn_CreateActivity, typeof(BaseResponse <ActivitysViewModel>)); // Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(signIn_CreateActivity.Success); //驗證server signIn_StartEvent的caller資料 client.Verify(m => m.signIn_eventStart(It.IsAny <string>(), It.IsAny <SignInEvent>())); //驗證server signIn_StopEvent的caller資料 client.Verify(m => m.signIn_eventStop(It.IsAny <string>(), It.IsAny <int>())); // Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsInstanceOfType(signIn_StopEvent, typeof(BaseResponse<string>)); // Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(signIn_StopEvent.Success); //驗證server signIn_PasswordRefresh的caller資料 client.Verify(m => m.signIn_PasswordChanged(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsInstanceOfType(signIn_PasswordRefresh, typeof(BaseResponse <string>)); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(signIn_PasswordRefresh.Success); //驗證server signIn_LoadMembers的caller資料 client.Verify(m => m.signIn_RenderPopup(It.IsAny <SignInEvent>())); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsInstanceOfType(signIn_LoadMembers, typeof(BaseResponse <SignInEvent>)); Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsTrue(signIn_LoadMembersResponseData.Success); //驗證server SignIn_Modify的caller資料 client.Verify(m => m.signIn_StatusChanged(It.IsAny <string>(), It.IsAny <SignInLog>())); //驗證server updateSignIn的caller資料 // client.Verify(m => m.signIn_Failed(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>())); if (showData) { //可下中斷點查看資料內容 ShowData(client.Invocations); } }