//[Fact(DisplayName = "Delete entity. When delete file: records inside should be deleted")] public async Task When_delete_file_records_inside_should_be_deleted() { var res = await Harness.DeleteFile(_fileId, UserId, _fileVersion); res.Should().BeTrue(); (await Records.Find(new BsonDocument("FileId", _fileId)) .Project <DeletedEntity>("{IsDeleted:1}") .ToListAsync()) .Should().NotBeEmpty() .And.HaveCount(1) .And.OnlyContain(x => x.IsDeleted); (await GetNodes(_fileId)) .Should().NotBeEmpty() .And.HaveCount(1) .And.OnlyContain(x => x.IsDeleted); }
//[Fact(DisplayName = "Delete entity. When delete file it should be deleted")] public async Task When_delete_file_it_should_be_deleted() { var res = await Harness.DeleteFile(_fileId, UserId, _fileVersion); res.Should().BeTrue(); var file = await Session.Get <File>(_fileId); file.IsDeleted.Should().BeTrue(); file.UpdatedBy.Should().Be(UserId); file.UpdatedDateTime.Should().NotBe(file.CreatedDateTime); var fileView = await Files.Find(new BsonDocument("_id", _fileId)).FirstOrDefaultAsync() as IDictionary <string, object>; fileView.Where(kvp => !new[] { "IsDeleted", "TotalRecords", "Fields" }.Contains(kvp.Key)).ToDictionary(k => k.Key, v => v.Value) .Should().EntityShouldBeEquivalentTo(file); var nodeView = await Nodes.Find(new BsonDocument("_id", _fileId)).FirstOrDefaultAsync() as IDictionary <string, object>; nodeView.Where(kvp => !new[] { "IsDeleted", "TotalRecords", "Fields" }.Contains(kvp.Key)).ToDictionary(k => k.Key, v => v.Value) .Should().NodeShouldBeEquivalentTo(file); nodeView["IsDeleted"].As <bool>().Should().BeTrue(); }