public async Task 正常系_種別_NumFilterKey_検索試験_1件だけ() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); // 検索条件を設定 // Like検索 var findString = 5; var fa = RecordingTableService.FilterKeys.NumA; fa.AddKey(findString); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); v.Add(fa); // ★ 検索実行 var r = await s.FindItems(v); // 結果を確認 Assert.AreEqual(1, r.ToList().Count()); { var correct = correctList.Where(x => x.ExtensionElements.NumA_value == findString).First(); Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId); } }
public async Task 正常系_種別_DateFilterKey_ソート試験_昇順() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); var sortKey = RecordingTableService.ColumnSorterKeys.DateA; sortKey.ColumnSorterType = HackPleasanterApi.Client.Api.Request.View.ColumnSorterType.Asc; v.Add(sortKey); // ★ 検索実行 var r = (await s.FindItems(v)).ToList(); // 結果を確認 Assert.AreEqual(10, r.ToList().Count()); // 値は大きい順で指定されている for (int i = 1; i <= 10; i++) { var tr = r[i - 1]; Assert.AreEqual(tr.ExtensionElements.NumA_value, i); } }
public async Task 正常系_種別_ClassFilterKey_検索試験() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); // 検索条件を設定 // Like検索 var findString = RecordingTableService.FilterKeys.TypeA_Choices.ClassA.ChoicesText; var fa = RecordingTableService.FilterKeys.TypeA; fa.SearchConditions = new List <ChoicesTextElement>(); fa.SearchConditions.Add(RecordingTableService.FilterKeys.TypeA_Choices.ClassA); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); v.Add(fa); // ★ 検索実行 var r = await s.FindItems(v); // 結果を確認 Assert.AreEqual(3, r.ToList().Count()); { var correct = correctList.Where(x => x.ExtensionElements.TypeA == findString).First(); Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId); } }
public async Task 正常系_種別_DateFilterKey_検索試験_期間指定_以上() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); // 時刻は期間で指定する // 検索には指定時間も含まれるため、2件取得される var fa = RecordingTableService.FilterKeys.DateA; fa.AddKeyOver(CONST_BaseDataTime.AddDays(8)); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); v.Add(fa); // ★ 検索実行 var r = await s.FindItems(v); // 結果を確認 Assert.AreEqual(2, r.ToList().Count()); { var correct = correctList.Where(x => x.ExtensionElements.DateA_value == CONST_BaseDataTime.AddDays(8)).First(); Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId); } { var correct = correctList.Where(x => x.ExtensionElements.DateA_value == CONST_BaseDataTime.AddDays(9)).First(); Assert.AreEqual(correct.BasicItemData.IssueId, r.Skip(1).First().BasicItemData.IssueId); } }
public async Task 正常系_種別_DateFilterKey_検索試験_1件だけ() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); // 時刻は期間で指定する。 // 期間の指定は指定された値を含むので、 // ギリギリ値が含みきらない範囲で指定を行う var fa = RecordingTableService.FilterKeys.DateA; fa.AddKeyRange(CONST_BaseDataTime, CONST_BaseDataTime.AddDays(1).AddSeconds(-1)); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); v.Add(fa); // ★ 検索実行 var r = await s.FindItems(v); // 結果を確認 Assert.AreEqual(1, r.ToList().Count()); { var correct = correctList.Where(x => x.ExtensionElements.DateA_value == CONST_BaseDataTime).First(); Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId); } }
public async Task 正常系_種別_CheckFilterKey_検索試験_falseの場合() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); var fa = RecordingTableService.FilterKeys.CheckA; fa.AddKey(false); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); v.Add(fa); // ★ 検索実行 var r = await s.FindItems(v); // 結果を確認 Assert.AreEqual(5, r.ToList().Count()); // trueとなっている条件を取得 var trueList = correctList.Where(x => x.ExtensionElements.CheckA_value == false).ToList(); foreach (var ele in trueList) { var x = r.Where(x => x.BasicItemData.ResultId == ele.BasicItemData.ResultId).FirstOrDefault(); Assert.IsNotNull(x); Assert.AreEqual(x.ExtensionElements.CheckA_value, false); } }
public async Task 正常系_種別_NumFilterKey_検索試験_部分範囲検索_3番から6番() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); // 算出条件として指定 var fa = RecordingTableService.FilterKeys.NumA; fa.AddKeyRange(3, 6); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); v.Add(fa); // ★ 検索実行 var r = await s.FindItems(v); // 結果を確認 Assert.AreEqual(4, r.ToList().Count()); //試験データとして、1から10までの値を作っているので、 // 3〜6までのデータが取得されている想定 for (int i = 3; i <= 6; i++) { var correct = correctList.Where(x => x.ExtensionElements.NumA_value == i).First(); Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId); } }
public async Task 正常系_種別_NumFilterKey_検索試験_範囲検索_5番まで() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); // 検索条件を設定 // Like検索 var findString1 = 5; // 算出条件として5以下を指定している var fa = RecordingTableService.FilterKeys.NumA; fa.AddKeyUnder(findString1); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); v.Add(fa); // ★ 検索実行 var r = await s.FindItems(v); // 結果を確認 Assert.AreEqual(5, r.ToList().Count()); //試験データとして、1から10までの値を作っているので、 // 1〜5までのデータが取得されている想定 for (int i = 1; i <= 5; i++) { var correct = correctList.Where(x => x.ExtensionElements.NumA_value == i).First(); Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId); } }
public async Task 正常系_種別_CheckSortKey_ソート試験_降順() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); // チェックを第一要素に var chSortKey = RecordingTableService.ColumnSorterKeys.CheckA; chSortKey.ColumnSorterType = HackPleasanterApi.Client.Api.Request.View.ColumnSorterType.Asc; v.Add(chSortKey); // Numを第2要素にする var numSortKey = RecordingTableService.ColumnSorterKeys.NumA; numSortKey.ColumnSorterType = HackPleasanterApi.Client.Api.Request.View.ColumnSorterType.Desc; v.Add(numSortKey); // ★ 検索実行 var r = (await s.FindItems(v)).ToList(); // 結果を確認 Assert.AreEqual(10, r.ToList().Count()); // 二重の条件でソートされてくる // 検索結果の上部にはtrueが集まっている Assert.AreEqual(r[5].ExtensionElements.NumA_value, 10); Assert.AreEqual(r[6].ExtensionElements.NumA_value, 8); Assert.AreEqual(r[7].ExtensionElements.NumA_value, 6); Assert.AreEqual(r[8].ExtensionElements.NumA_value, 4); Assert.AreEqual(r[9].ExtensionElements.NumA_value, 2); // trueの後にfalseが集まっている Assert.AreEqual(r[0].ExtensionElements.NumA_value, 9); Assert.AreEqual(r[1].ExtensionElements.NumA_value, 7); Assert.AreEqual(r[2].ExtensionElements.NumA_value, 5); Assert.AreEqual(r[3].ExtensionElements.NumA_value, 3); Assert.AreEqual(r[4].ExtensionElements.NumA_value, 1); }
public async Task 正常系_種別_NumFilterKey_検索試験_複合条件_9番より小さい_8番() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var s = new RecordingTableService(MakeTestConfig()); // ★順番を入れ替えてみる // 算出条件として指定 var fa = RecordingTableService.FilterKeys.NumA; fa.AddKey(8); fa.AddKeyOver(9); var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); v.Add(fa); // ★ 検索実行 var r = await s.FindItems(v); // 結果を確認 Assert.AreEqual(3, r.ToList().Count()); //試験データとして、1から10までの値を作っているので、 // 9〜10までのデータが取得されている想定 for (int i = 9; i <= 10; i++) { var correct = correctList.Where(x => x.ExtensionElements.NumA_value == i).First(); Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId); } // 個別に8番が取れているはず { var correct = correctList.Where(x => x.ExtensionElements.NumA_value == 8).First(); Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId); } }
public async Task 正常系_条件指定削除() { //テスト対象データを作る var correctList = await MakeTestTargetData(); var cfg = MakeTestConfig(); var s = new RecordingTableService(cfg); // 検索条件を設定 // Like検索 var findString = "test10"; var fa = RecordingTableService.FilterKeys.StringA; fa.SearchCondition = findString; var v = new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>(); v.Add(fa); // 指定条件で削除する var dr = await s.DeleteByConditions(new DeleteAllItemsRequest <CsharpSamples.Generated.Models.RecordingTableModel> { All = false, PhysicalDelete = false, View = v });;; Assert.IsNotNull(dr); // 指定したデータだけが削除されているか確認する var read = await s.FindItems(new HackPleasanterApi.Client.Api.Request.View.View <RecordingTableModel>()); Assert.AreEqual(9, read.Count()); }