public async Task <IHttpActionResult> Post([FromBody] SignupInput signupInput) { SignUpServiceClient client = new SignUpServiceClient(); var result = await client.AddAsync(signupInput); if (result.Status == OperationStatus.Added) { return(CreatedAtRoute <SignupResult>("DefaultApi", new { id = result.ResourceId }, result)); } if (result.Status == OperationStatus.DuplicatedWhenAdding) { return(Content <SignupResult>(System.Net.HttpStatusCode.Conflict, result)); } if (result.Status == OperationStatus.ErrorsWhenAdding) { ModelStateDictionary model = GetError(result); return(BadRequest(model)); } if (result.Status == OperationStatus.DBError) { // {"Message":"An error has occurred.","ExceptionMessage":"DB Internal Error","ExceptionType":"System.Exception","StackTrace":null} return(InternalServerError(new Exception("DB Internal Error"))); } return(InternalServerError(new Exception("Not handled request: " + result.Status.ToString()))); }
public async Task TestMethod_Post_InvalidModelStateResult_BadRequest() { var controller = new SignupController(); SignupInput signupInput = new SignupInput() { Comments = "", Email = "", FirstName = "Looooooooooooooong", LastName = "", FunEventId = 0 }; var actionResult = await controller.Post(signupInput); var createdResult = actionResult as InvalidModelStateResult; Assert.IsNotNull(createdResult); Assert.IsNotNull(createdResult.ModelState); ModelStateDictionary info = createdResult.ModelState as ModelStateDictionary; Assert.IsTrue(info.Count == 4); // Todo: check Details }
public async Task TestMethod_Can_Not_Signup_A_Person_With_Too_Long() { ISignup signup = new SignMeUp(); string random = Guid.NewGuid().ToString(); SignupInput signupInput = new SignupInput { FirstName = "FirstNameFirstName", LastName = "LastNameLastNameLastName ", Email = "EmailEmailEmailEmailEmailEmailEmailEmailEmailEmailEmail", FunEventId = 1, Comments = "I will bring my two kids.I will bring my two kids.I will bring my two kids.I will bring my two kids.I will bring my two kids.I will bring my two kids.I will bring my two kids.I will bring my two kids.I will bring my two kids.I will bring my two kids.I will bring my two kids." }; var signupResult = await signup.Add(signupInput); Assert.IsTrue(signupResult.Status == OperationStatus.ErrorsWhenAdding); Assert.IsTrue(signupResult.Errors.Count == 4); Assert.IsTrue(signupResult.Errors[0].ErrorType == ErrorType.DataInvalid); Assert.IsTrue(signupResult.Errors[0].DetailError == "First Name is more than 10 letters"); Assert.IsTrue(signupResult.Errors[0].MembershipName == "FirstName"); Assert.IsTrue(signupResult.Errors[1].ErrorType == ErrorType.DataInvalid); Assert.IsTrue(signupResult.Errors[1].DetailError == "Last Name is more than 10 letters"); Assert.IsTrue(signupResult.Errors[1].MembershipName == "LastName"); Assert.IsTrue(signupResult.Errors[2].ErrorType == ErrorType.DataInvalid); Assert.IsTrue(signupResult.Errors[2].DetailError == "Email is more than 30 letters"); Assert.IsTrue(signupResult.Errors[2].MembershipName == "Email"); Assert.IsTrue(signupResult.Errors[3].ErrorType == ErrorType.DataInvalid); Assert.IsTrue(signupResult.Errors[3].DetailError == "Comments is more than 30 letters"); Assert.IsTrue(signupResult.Errors[3].MembershipName == "Comments"); }
public async Task TestMethod_Post_Created_Duplicated_NegotiatedContentResult_HttpStatusCodeConflict() { // Created one var controller = new SignupController(); Random r = new Random(); SignupInput signupInput = new SignupInput() { Comments = "", Email = "*****@*****.**" + r.Next(1234, 123456789), FirstName = "Yan", LastName = "Wang", FunEventId = 101 }; string resourceId = signupInput.Email + "###" + signupInput.FunEventId; var actionResult = await controller.Post(signupInput); var result = actionResult as CreatedAtRouteNegotiatedContentResult <SignupResult>; Assert.IsNotNull(result); Assert.AreEqual("DefaultApi", result.RouteName); Assert.AreEqual(result.Content.ResourceId, resourceId); Assert.IsTrue(result.Content.Status == OperationStatus.Added); // Trying to create again var actionResultAgain = await controller.Post(signupInput); var createdResultAgain = actionResultAgain as NegotiatedContentResult <SignupResult>; Assert.IsNotNull(createdResultAgain); // Check Type Assert.IsTrue(createdResultAgain.StatusCode == System.Net.HttpStatusCode.Conflict); Assert.IsTrue(createdResultAgain.Content.ResourceId == resourceId); Assert.IsTrue(createdResultAgain.Content.Status == OperationStatus.DuplicatedWhenAdding); }
public CommonRtn signup([FromForm] SignupInput input) { var exisitUser = (from user in this.sysContext.users where user.phone == input.phone select user).Count(); var message = (from msg in this.sysContext.messages where msg.phone == input.phone orderby msg.createTime descending select msg).First(); if (message == null) { return(CommonRtn.Error("请先发送短信验证码")); } if (message.code != input.authcode) { return(CommonRtn.Error("短信验证码错误")); } if (exisitUser > 0) { return(new CommonRtn { success = false, message = "用户已经注册" }); } else { var user = new User { phone = input.phone, loginPassword = DESEncrypt.Encrypt(input.loginPassword), id = Guid.NewGuid().ToString() }; this.sysContext.users.Add(user); this.sysContext.SaveChanges(); return(new CommonRtn { success = true, message = "注册成功" }); } }
private static IList <string> ValidateSignupInput(SignupInput signupInput) { var listError = new List <string>(); if (string.IsNullOrWhiteSpace(signupInput.FirstName)) { listError.Add("Firt Name not informed"); } if (string.IsNullOrWhiteSpace(signupInput.LastName)) { listError.Add("Last Name not informed"); } if (string.IsNullOrWhiteSpace(signupInput.Email)) { listError.Add("Email not informed"); } else { try { var email = new System.Net.Mail.MailAddress(signupInput.Email); } catch { listError.Add("Email invalid"); } } if (string.IsNullOrWhiteSpace(signupInput.Password)) { listError.Add("Password not informed"); } //if (signupInput.Phones != null && !signupInput.Phones.Any()) //{ // listError.Add("Phone not informed"); //} //else //{ // //if (signupInput.Phones.Any(a => !a.AreaCode.HasValue)) // //{ // // listError.Add("Phone informed without CodeArea"); // //} // //if (signupInput.Phones.Any(a => string.IsNullOrWhiteSpace(a.CountryCode))) // //{ // // listError.Add("Phone not informed without CountryCode"); // //} // //if (signupInput.Phones.Any(a => !a.Number.HasValue)) // //{ // // listError.Add("Phone not informed without Number"); // //} //} return(listError); }
private static async Task InitializeAsync() { ISignup signup1 = new SignMeUp(); IFunEvent funEvent = new SignMeUp(); ISignup signup = new SignupBusiness(signup1, funEvent); // <========= SignMeUp help = signup1 as SignMeUp; help.TestingHelper(); ExpectedList = new List <SignupInput>(); List <Task <SignupResult> > tasks = new List <Task <SignupResult> >(); // Signup - Diff Persons sign up same events for (int i = 0; i <= 10; i++) { // Create one person. string random = Guid.NewGuid().ToString(); SignupInput signupInput = new SignupInput { FirstName = random.Substring(1, 3) + UnitTest_Business_Integrated.FirstName + random.Substring(3, 3), LastName = random.Substring(6, 3) + UnitTest_Business_Integrated.LastName + random.Substring(10, 3), Email = random.Substring(1, 10) + "@business.com", Comments = "" }; // Signup - Same person signs up 3 events. SignupInput signupInput1 = new SignupInput { FirstName = signupInput.FirstName, LastName = signupInput.LastName, Email = signupInput.Email, Comments = signupInput.Comments }; ExpectedList.Add(signupInput1); signupInput1.FunEventId = 100; var task1 = signup.Add(signupInput1); tasks.Add(task1); SignupInput signupInput2 = new SignupInput { FirstName = signupInput.FirstName, LastName = signupInput.LastName, Email = signupInput.Email, Comments = signupInput.Comments }; ExpectedList.Add(signupInput2); signupInput2.FunEventId = 101; var task2 = signup.Add(signupInput2); tasks.Add(task2); } await Task.WhenAll(tasks); }
public async Task TestMethod_Can_Signup_A_Person_Successfully() { ISignup signup = new SignMeUp(); string random = Guid.NewGuid().ToString(); SignupInput signupInput = new SignupInput { FirstName = "Yan", LastName = "Wang", Email = random.Substring(1, 10) + "@email.com", FunEventId = 100, Comments = "I will bring my two kids." }; var signupResult = await signup.Add(signupInput); Assert.IsTrue(signupResult.Status == OperationStatus.Added); Assert.IsTrue(signupResult.Errors.Count == 0); Assert.IsTrue(signupResult.ResourceId == string.Format("{0}###{1}", signupInput.Email, signupInput.FunEventId)); }
public async Task TestMethod_Can_Signup_A_Person_Successfully() { ISignUpService wcf = new SignUpService(); string random = Guid.NewGuid().ToString(); SignupInput signupInput = new SignupInput { FirstName = "Wcf", LastName = "Test", Email = random.Substring(1, 10) + "@wcf.com", FunEventId = 100, Comments = "Created by Wcf" }; var signupResult = await wcf.Add(signupInput); Assert.IsTrue(signupResult.Status == OperationStatus.Added); Assert.IsTrue(signupResult.Errors.Count == 0); Assert.IsTrue(signupResult.ResourceId == string.Format("{0}###{1}", signupInput.Email, signupInput.FunEventId)); }
public async Task TestMethod_Can_Not_Signup_Person_With_Not_Existing_Event() { int notExistingEvent = int.MaxValue - 1; ISignup signup = new SignMeUp(); string random = Guid.NewGuid().ToString(); SignupInput signupInput = new SignupInput { FirstName = "Yan", LastName = "Wang", Email = random.Substring(1, 10) + "@email.com", FunEventId = notExistingEvent }; var signupResult = await signup.Add(signupInput); Assert.IsTrue(signupResult.Status == OperationStatus.ErrorsWhenAdding); Assert.IsTrue(signupResult.Errors.Count == 1); Assert.IsTrue(signupResult.Errors[0].ErrorType == ErrorType.DataInvalid); Assert.IsTrue(signupResult.Errors[0].MembershipName == "FunEventId"); Assert.IsTrue(signupResult.Errors[0].DetailError == "Event is not Existing"); }
public async Task TestMethod_Can_Signup_A_Person_Successfully() { ISignup signup = new SignMeUp(); IFunEvent funEvent = new SignMeUp(); ISignup business = new SignupBusiness(signup, funEvent); string random = Guid.NewGuid().ToString(); SignupInput signupInput = new SignupInput { FirstName = "Business", LastName = "Test", Email = random.Substring(1, 10) + "@email.com", FunEventId = 100, Comments = "Created by Business" }; var signupResult = await business.Add(signupInput); Assert.IsTrue(signupResult.Status == OperationStatus.Added); Assert.IsTrue(signupResult.Errors.Count == 0); Assert.IsTrue(signupResult.ResourceId == string.Format("{0}###{1}", signupInput.Email, signupInput.FunEventId)); }
public async Task TestMethod_Can_Not_Signup_A_Person_With_Yahoo_Email() { ISignup signup = new SignMeUp(); IFunEvent funEvent = new SignMeUp(); ISignup business = new SignupBusiness(signup, funEvent); string random = Guid.NewGuid().ToString(); SignupInput signupInput = new SignupInput { FirstName = "Business", LastName = "Test", Email = random.Substring(1, 10) + "@YaHoO.cOm", FunEventId = 100, Comments = "Created by Business" }; var signupResult = await business.Add(signupInput); Assert.IsTrue(signupResult.Status == OperationStatus.ErrorsWhenAdding); Assert.IsTrue(signupResult.Errors.Count == 1); Assert.IsTrue(signupResult.Errors[0].ErrorType == ErrorType.DataInvalid); Assert.IsTrue(signupResult.Errors[0].MembershipName == "Email"); Assert.IsTrue(signupResult.Errors[0].DetailError == "Email is not supported."); }
public async Task TestMethod_Can_Not_SignUp_Same_Email_Twice_Under_Same_Event() { ISignup signup = new SignMeUp(); string random = Guid.NewGuid().ToString(); SignupInput signupInput = new SignupInput { FirstName = "Yan", LastName = "Wang", Email = random.Substring(1, 10) + "@email.com", FunEventId = 100 }; var signupResult = await signup.Add(signupInput); Assert.IsTrue(signupResult.Status == OperationStatus.Added); Assert.IsTrue(signupResult.Errors.Count == 0); Assert.IsTrue(signupResult.ResourceId == string.Format("{0}###{1}", signupInput.Email, signupInput.FunEventId)); // Try again var signupResultAgain = await signup.Add(signupInput); Assert.IsTrue(signupResultAgain.Status == OperationStatus.DuplicatedWhenAdding); Assert.IsTrue(signupResultAgain.Errors.Count == 0); Assert.IsTrue(signupResultAgain.ResourceId == string.Format("{0}###{1}", signupInput.Email, signupInput.FunEventId)); }
public async Task <SignupResult> Add(SignupInput signupInput) { SignupResult signupResult = new SignupResult() { Status = OperationStatus.NoError, Errors = new List <Error>(), ResourceId = "" }; if (signupInput == null) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.EmptyEntry, DetailError = "No Signu up Info Provided.", MembershipName = string.Empty }); return(signupResult); } else { if (!string.IsNullOrWhiteSpace(signupInput.Email)) { // Todo: // Email rule check - at least have @ and . } if (!string.IsNullOrWhiteSpace(signupInput.Email) && signupInput.Email.ToLowerInvariant().Contains("@yahoo.com")) { // Not support yahoo signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "Email is not supported.", MembershipName = "Email" }); return(signupResult); } } var result = await this._iSignup.Add(signupInput); return(result); }
public JsonResult Signup([FromBody] SignupInput signupInput) { var listError = ValidateSignupInput(signupInput); if (listError.Any()) { return(Json(Utils.Utils.Instance.ResultMessage(string.Join(",", listError), false, 403))); } var hasEmail = _userService.Handle(new CheckHasEmail { Email = signupInput.Email }); if (hasEmail) { return(Json(Utils.Utils.Instance.ResultMessage("E-mail already exists", false, 403))); } var saveUser = new SaveUser { Email = signupInput.Email, CreatedAt = DateTime.Now, FirstName = signupInput.FirstName, LastName = signupInput.LastName, Password = signupInput.Password, Phones = signupInput.Phones.Select(s => new UserContact { CodeArea = s.AreaCode.Value, CountryCode = s.CountryCode, Number = s.Number.Value }).ToList() }; var newuser = _userService.Handle(saveUser); return(Json(Utils.Utils.Instance.ResultMessage($"User created successfully, userId:{newuser.Id}", true, 201))); }
public async Task TestMethod_Can_Signup_A_Person_Successfully_OnlyOnce_WhenTryingToRepeat() { ISignup signup = new SignMeUp(); List <Task <SignupResult> > tasks = new List <Task <SignupResult> >(); string random = Guid.NewGuid().ToString(); SignupInput signupInput = new SignupInput { FirstName = "ONLY", LastName = "ONE", Email = random.Substring(1, 10) + "@email.com", FunEventId = 100, Comments = "ONly ONe" }; for (int i = 0; i < 100; i++) { var task = signup.Add(signupInput); tasks.Add(task); } await Task.WhenAll(tasks); int total = 0; int dup = 0; foreach (var t in tasks) { if (t.Result.Status == OperationStatus.Added) { total++; } else if (t.Result.Status == OperationStatus.DuplicatedWhenAdding) { dup++; } else { } } Assert.IsTrue(total == 1); Assert.IsTrue(dup == 99); }
public async Task TestMethod_Post_InvalidModelStateResult_BadRequest_Not_ExistingEvent() { var controller = new SignupController(); SignupInput signupInput = new SignupInput() { Comments = "", Email = "*****@*****.**", FirstName = "ABC", LastName = "def", FunEventId = 9999 }; var actionResult = await controller.Post(signupInput); var createdResult = actionResult as InvalidModelStateResult; Assert.IsNotNull(createdResult); Assert.IsNotNull(createdResult.ModelState); ModelStateDictionary info = createdResult.ModelState as ModelStateDictionary; Assert.IsTrue(info.Count == 1); }
public async Task TestMethod_Post_CreatedAtRoute() { var controller = new SignupController(); Random r = new Random(); SignupInput signupInput = new SignupInput() { Comments = "", Email = "*****@*****.**" + r.Next(1234, 123456789), FirstName = "Yan", LastName = "Wang", FunEventId = 101 }; string resourceId = signupInput.Email + "###" + signupInput.FunEventId; var actionResult = await controller.Post(signupInput); var result = actionResult as CreatedAtRouteNegotiatedContentResult <SignupResult>; Assert.IsNotNull(result); Assert.AreEqual("DefaultApi", result.RouteName); Assert.AreEqual(result.Content.ResourceId, resourceId); Assert.IsTrue(result.Content.Status == OperationStatus.Added); }
public async Task <SignupResult> Add(SignupInput signupInput) { var signup = Factory.CreateSignup(); return(await signup.Add(signupInput)); }
public async Task <SignupResult> Add(SignupInput signupInput) { SignupResult signupResult = new SignupResult() { Status = OperationStatus.NoError, Errors = new List <Error>(), ResourceId = "" }; if (signupInput == null) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.EmptyEntry, DetailError = "No Signu up Info Provided.", MembershipName = string.Empty }); return(signupResult); } if (string.IsNullOrWhiteSpace(signupInput.FirstName)) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "First Name is Required", MembershipName = "FirstName" }); } if (string.IsNullOrWhiteSpace(signupInput.LastName)) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "Last Name is Required", MembershipName = "LastName" }); } if (string.IsNullOrWhiteSpace(signupInput.Email)) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "Email is Required", MembershipName = "Email" }); } if (signupInput.FunEventId <= 0) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "Event is Required", MembershipName = "FunEventId" }); } if (!string.IsNullOrWhiteSpace(signupInput.FirstName) && signupInput.FirstName.Length > 10) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "First Name is more than 10 letters", MembershipName = "FirstName" }); } if (!string.IsNullOrWhiteSpace(signupInput.LastName) && signupInput.LastName.Length > 10) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "Last Name is more than 10 letters", MembershipName = "LastName" }); } if (!string.IsNullOrWhiteSpace(signupInput.Email) && signupInput.Email.Length > 30) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "Email is more than 30 letters", MembershipName = "Email" }); } if (!string.IsNullOrWhiteSpace(signupInput.Comments) && signupInput.Comments.Length > 100) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "Comments is more than 30 letters", MembershipName = "Comments" }); } if (signupResult.Status != OperationStatus.NoError) { return(signupResult); } try { using (HomeworkEntities context = new HomeworkEntities()) { using (var dbContextTransaction = context.Database.BeginTransaction(System.Data.IsolationLevel.Serializable)) { string queryEvent = "SELECT FunEventId FROM FunEvents WITH (UPDLOCK) WHERE FunEventId = {0}"; var existingEvent = await context.Database.SqlQuery <int>(queryEvent, signupInput.FunEventId).SingleOrDefaultAsync(); if (existingEvent == 0) { signupResult.Status = OperationStatus.ErrorsWhenAdding; signupResult.Errors.Add(new Error { ErrorType = ErrorType.DataInvalid, DetailError = "Event is not Existing", MembershipName = "FunEventId" }); return(signupResult); } string query = "SELECT FunEventId, Email FROM Signups WITH (UPDLOCK) WHERE FunEventId = {0} AND Email = {1}"; object[] parameters = { signupInput.FunEventId, signupInput.Email }; var existingItem = await context.Database.SqlQuery <Row>(query, parameters).SingleOrDefaultAsync(); if (existingItem != null) { signupResult.Status = OperationStatus.DuplicatedWhenAdding; signupResult.ResourceId = string.Format("{0}###{1}", existingItem.Email, existingItem.FunEventId); return(signupResult); } Signup signup = new Signup(); signup.FirstName = signupInput.FirstName; signup.LastName = signupInput.LastName; signup.Email = signupInput.Email; signup.FunEventId = signupInput.FunEventId; signup.Comments = signupInput.Comments; signup.CreatedDatetime = DateTime.Now; context.Signups.Add(signup); try { await context.SaveChangesAsync(); dbContextTransaction.Commit(); signupResult.Status = OperationStatus.Added; signupResult.ResourceId = string.Format("{0}###{1}", signupInput.Email, signupInput.FunEventId); } catch (Exception ex) { dbContextTransaction.Rollback(); signupResult = new SignupResult() { Errors = new List <Error> { }, Status = OperationStatus.DBError }; } } } } catch (Exception ex) { // Permission issue.. throw ex; } return(signupResult); }
public Task <StudentDto> Signup(SignupInput input) { throw new NotImplementedException(); }
public async Task <SignupResult> Add(SignupInput signupInput) { throw new NotImplementedException(); }
public async Task TestMethod_Get() { // Prepare data var controller = new SignupController(); Random r = new Random(); string searchKey = Guid.NewGuid().ToString().Substring(1, 10); SignupInput signupInput = new SignupInput() { Comments = "", Email = "*****@*****.**" + r.Next(1234, 123456789), FirstName = searchKey, LastName = "Wang", }; string emailBackup = signupInput.Email; signupInput.FunEventId = 100; var task1 = controller.Post(signupInput); await Task.WhenAll(task1); signupInput.FunEventId = 101; var task2 = controller.Post(signupInput); await Task.WhenAll(task2); signupInput.FunEventId = 102; var task3 = controller.Post(signupInput); await Task.WhenAll(task3); // Noise signupInput.FunEventId = 100; signupInput.Email = "ThisisNoise@g" + r.Next(123456789, 223456789); signupInput.FirstName = "NotMatched"; var task4 = controller.Post(signupInput); await Task.WhenAll(task4); // // Query - By First Name // QueryInputFromClient queryInputFromClient = new QueryInputFromClient(); queryInputFromClient.FirstName = searchKey; var queryResult = await controller.Get(queryInputFromClient); var list = queryResult.ToList(); Assert.IsTrue(list.Count() == 3); // Same person Assert.IsTrue(list[0].Email == emailBackup); Assert.IsTrue(list[1].Email == emailBackup); Assert.IsTrue(list[2].Email == emailBackup); Assert.IsTrue(list[0].FirstName.Contains(searchKey)); Assert.IsTrue(list[1].FirstName.Contains(searchKey)); Assert.IsTrue(list[2].FirstName.Contains(searchKey)); // Different events Assert.IsTrue(list[0].FunEventId != list[1].FunEventId); Assert.IsTrue(list[1].FunEventId != list[2].FunEventId); Assert.IsTrue(list[2].FunEventId != list[0].FunEventId); // // Query - By First Name & Eent // QueryInputFromClient queryInputFromClient2 = new QueryInputFromClient(); queryInputFromClient2.FirstName = searchKey; queryInputFromClient2.FunEvent = 101; var queryResult2 = await controller.Get(queryInputFromClient2); var list2 = queryResult2.ToList(); Assert.IsTrue(list2.Count() == 1); Assert.IsTrue(list2[0].Email == emailBackup); Assert.IsTrue(list2[0].FirstName.Contains(searchKey)); Assert.IsTrue(list2[0].FunEventId == 101); }