Esempio n. 1
0
        public async Task DetachShouldCopyBlocks()
        {
            using (var api = CreateApi())
            {
                var originalPage = await api.Pages.GetByIdAsync <MyPage>(PAGE_7_ID);

                var copy = await api.Pages.GetByIdAsync <MyPage>(PAGE_8_ID);

                var originalBlock = new Extend.Blocks.TextBlock
                {
                    Id   = Guid.NewGuid(),
                    Body = "test",
                };

                originalPage.Blocks.Add(originalBlock);
                await api.Pages.SaveAsync(originalPage);

                await api.Pages.DetachAsync(copy);

                var p = await api.Pages.GetByIdAsync <MyPage>(PAGE_8_ID);

                Assert.Collection(p.Blocks, e =>
                {
                    Assert.NotEqual(e.Id, originalBlock.Id);
                    var eBlock = Assert.IsType <Extend.Blocks.TextBlock>(e);
                    Assert.Equal(eBlock.Body.Value, originalBlock.Body.Value);
                });
            }
        }
Esempio n. 2
0
        public void DetachShouldCopyBlocks()
        {
            using (var api = new Api(GetDb(), new ContentServiceFactory(services), storage, cache)) {
                var originalPage  = api.Pages.GetById <MyPage>(PAGE_7_ID);
                var copy          = api.Pages.GetById <MyPage>(PAGE_8_ID);
                var originalBlock = new Extend.Blocks.TextBlock {
                    Id   = Guid.NewGuid(),
                    Body = "test",
                };

                originalPage.Blocks.Add(originalBlock);
                api.Pages.Save(originalPage);

                api.Pages.Detach(copy);

                var p = api.Pages.GetById <MyPage>(PAGE_8_ID);
                Assert.Collection(p.Blocks, e => {
                    Assert.NotEqual(e.Id, originalBlock.Id);
                    var eBlock = Assert.IsType <Extend.Blocks.TextBlock>(e);
                    Assert.Equal(eBlock.Body.Value, originalBlock.Body.Value);
                });
            }
        }