예제 #1
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);
        }