コード例 #1
0
        public async Task ItemCase_Delete_DoesDelete()
        {
            // Arrange
            ItemList itemList = new ItemList
            {
                Name = Guid.NewGuid().ToString()
            };

            await itemList.Create(DbContext);

            Item item = new Item
            {
                Name        = Guid.NewGuid().ToString(),
                Description = Guid.NewGuid().ToString(),
                Enabled     = true,
                ItemListId  = itemList.Id
            };

            await item.Save(DbContext);

            ItemCase itemCase = new ItemCase
            {
                MicrotingSdkSiteId  = 24,
                MicrotingSdkCaseId  = 34,
                MicrotingSdkeFormId = 234,
                Status = 66,
                ItemId = item.Id
            };

            await itemCase.Create(DbContext);

            // Act
            itemCase = await DbContext.ItemCases.AsNoTracking().FirstOrDefaultAsync();

            await itemCase.Delete(DbContext);

            List <ItemCase>        itemCases        = DbContext.ItemCases.AsNoTracking().ToList();
            List <ItemCaseVersion> itemCaseVersions = DbContext.ItemCaseVersions.AsNoTracking().ToList();

            // Assert
            Assert.AreEqual(1, itemCases.Count);
            Assert.AreEqual(2, itemCaseVersions.Count);
            Assert.AreEqual(itemCase.MicrotingSdkSiteId, itemCases[0].MicrotingSdkSiteId);
            Assert.AreEqual(itemCase.MicrotingSdkCaseId, itemCases[0].MicrotingSdkCaseId);
            Assert.AreEqual(itemCase.MicrotingSdkeFormId, itemCases[0].MicrotingSdkeFormId);
            Assert.AreEqual(itemCase.Status, itemCases[0].Status);
            Assert.AreEqual(itemCase.ItemId, itemCases[0].ItemId);
            Assert.AreEqual(Constants.WorkflowStates.Removed, itemCases[0].WorkflowState);
            Assert.AreEqual(itemCase.Id, itemCases[0].Id);
            Assert.AreEqual(2, itemCases[0].Version);

            Assert.AreEqual(itemCase.MicrotingSdkSiteId, itemCaseVersions[0].MicrotingSdkSiteId);
            Assert.AreEqual(itemCase.MicrotingSdkCaseId, itemCaseVersions[0].MicrotingSdkCaseId);
            Assert.AreEqual(itemCase.MicrotingSdkeFormId, itemCaseVersions[0].MicrotingSdkeFormId);
            Assert.AreEqual(itemCase.Status, itemCaseVersions[0].Status);
            Assert.AreEqual(itemCase.ItemId, itemCaseVersions[0].ItemId);
            Assert.AreEqual(Constants.WorkflowStates.Created, itemCaseVersions[0].WorkflowState);
            Assert.AreEqual(itemCase.Id, itemCaseVersions[0].ItemCaseId);
            Assert.AreEqual(1, itemCaseVersions[0].Version);

            Assert.AreEqual(itemCase.MicrotingSdkSiteId, itemCaseVersions[1].MicrotingSdkSiteId);
            Assert.AreEqual(itemCase.MicrotingSdkCaseId, itemCaseVersions[1].MicrotingSdkCaseId);
            Assert.AreEqual(itemCase.MicrotingSdkeFormId, itemCaseVersions[1].MicrotingSdkeFormId);
            Assert.AreEqual(itemCase.Status, itemCaseVersions[1].Status);
            Assert.AreEqual(itemCase.ItemId, itemCaseVersions[1].ItemId);
            Assert.AreEqual(Constants.WorkflowStates.Removed, itemCaseVersions[1].WorkflowState);
            Assert.AreEqual(itemCase.Id, itemCaseVersions[1].ItemCaseId);
            Assert.AreEqual(2, itemCaseVersions[1].Version);
        }