// GET api/Signup?fn=&ln= public async Task <IEnumerable <SignupRecord> > Get([FromUri] QueryInputFromClient queryInputFromClient) { QueryInput queryInput = new QueryInput() { CurrentPage = queryInputFromClient.CurrentPage.HasValue? queryInputFromClient.CurrentPage.Value : 0, FirstName = queryInputFromClient.FirstName, LastName = queryInputFromClient.LastName, FunEvent = queryInputFromClient.FunEvent.HasValue ? queryInputFromClient.FunEvent.Value : 0 }; SignUpServiceClient client = new SignUpServiceClient(); var result = await client.QueryAsync(queryInput); return(result.Records); }
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); }