Beispiel #1
0
        public async Task 正常系_種別_NumFilterKey_検索試験_複合条件_8番_3番から6番()
        {
            //テスト対象データを作る
            var correctList = await MakeTestTargetData();

            var s = new RecordingTableService(MakeTestConfig());

            // ★順番を入れ替えてみる
            // 算出条件として指定
            var fa = RecordingTableService.FilterKeys.NumA;

            fa.AddKey(8);
            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(5, 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);
            }

            // 個別に8番が取れているはず
            {
                var correct = correctList.Where(x => x.ExtensionElements.NumA_value == 8).First();
                Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId);
            }
        }
Beispiel #2
0
        public async Task 正常系_種別_NumFilterKey_検索試験_2件だけ()
        {
            //テスト対象データを作る
            var correctList = await MakeTestTargetData();

            var s = new RecordingTableService(MakeTestConfig());

            // 検索条件を設定
            // Like検索
            var findString1 = 5;
            var findString2 = 7;

            var fa = RecordingTableService.FilterKeys.NumA;

            fa.AddKey(findString1);
            fa.AddKey(findString2);

            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.NumA_value == findString1).First();
                Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId);
            }

            {
                var correct = correctList.Where(x => x.ExtensionElements.NumA_value == findString2).First();
                Assert.AreEqual(correct.BasicItemData.IssueId, r.First().BasicItemData.IssueId);
            }
        }
Beispiel #3
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());
        }
Beispiel #4
0
        public async Task 正常系_作成更新試験()
        {
            var cfg = MakeTestConfig();

            var s = new RecordingTableService(cfg);

            // テストデータはすべて消去する
            await s.DeleteALL(true);


            var data = new CsharpSamples.Generated.Models.RecordingTableModel();

            data.BasicItemData.Title    = "タイトルてすと";
            data.BasicItemData.Body     = "本文";
            data.BasicItemData.Comments = "コメント";

            // 個別の試験用データを設定する
            data.ExtensionElements.CheckA  = true;
            data.ExtensionElements.DateA   = DateTime.Now;
            data.ExtensionElements.NumA    = Int32.MaxValue;
            data.ExtensionElements.StringA = "StringA";
            data.ExtensionElements.TypeA   = "TypeA";

            // テストデータを読み取る
            var a = AttachmentsHelper.MakeAttachmentsFromFile(Path.Combine(GetCurrentPass(), @"sky.jpg"));

            data.ExtensionElements.AttachmentA = new System.Collections.Generic.List <HackPleasanterApi.Client.Api.Models.ItemModel.Hash.Attachments>();
            data.ExtensionElements.AttachmentA.Add(a);

            // itemを生成する
            var x = await s.CreateItem(data);

            // 情報を更新する
            data.ExtensionElements.CheckA  = false;
            data.ExtensionElements.DateA   = DateTime.Now;
            data.ExtensionElements.NumA    = Int32.MinValue;
            data.ExtensionElements.StringA = "StringA +1";
            data.ExtensionElements.TypeA   = "TypeA +1";

            var ts = await s.UpdateItem(x.Id, data);

            // 比較用に取得する
            var r = await s.GetItem(x.Id);

            // そのまま更新するとitemは2個に複製される
            Assert.AreEqual(2, r.ExtensionElements.AttachmentA.Count);

            // 対象のデータを取得する
            var rData = await s.GetAttachments(r.ExtensionElements.AttachmentA[0]);

            Assert.AreEqual(rData.Response.Base64, a.Base64);

            Assert.AreEqual(r.ExtensionElements.CheckA_value, data.ExtensionElements.CheckA_value);

            //ToDo : タイムフオセットは調整が必要
            // Assert.AreEqual(r.ExtensionElements.DateA_value, data.ExtensionElements.DateA_value);

            Assert.AreEqual(r.ExtensionElements.NumA_value, data.ExtensionElements.NumA_value);
            Assert.AreEqual(r.ExtensionElements.StringA, data.ExtensionElements.StringA);
            Assert.AreEqual(r.ExtensionElements.TypeA, data.ExtensionElements.TypeA);
        }