Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
            }
        }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
        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);
            }
        }
Exemple #8
0
        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);
            }
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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);
            }
        }
Exemple #11
0
        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());
        }