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); }