Ejemplo n.º 1
0
        //[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);
        }
Ejemplo n.º 2
0
        //[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();
        }