public async void DeleteLegacyRelease()
        {
            var id            = Guid.NewGuid();
            var publicationId = Guid.NewGuid();

            using (var context = InMemoryApplicationDbContext())
            {
                context.Add(new Publication
                {
                    Id             = publicationId,
                    LegacyReleases = new List <LegacyRelease>
                    {
                        new LegacyRelease
                        {
                            Id          = id,
                            Description = "Test description",
                            Url         = "http://test.com",
                            Order       = 2,
                        },
                    }
                });

                context.SaveChanges();

                var legacyReleaseService = new LegacyReleaseService(
                    context,
                    AdminMapper(),
                    MockUtils.AlwaysTrueUserService().Object,
                    new PersistenceHelper <ContentDbContext>(context)
                    );

                // Service method under test
                var result = await legacyReleaseService.DeleteLegacyRelease(id);

                Assert.Empty(context.LegacyReleases);
                Assert.Empty(
                    context.Publications
                    .Single(publication => publication.Id == publicationId)
                    .LegacyReleases
                    );
            }
        }
        public async void DeleteLegacyRelease_ReordersWithExisting()
        {
            var id            = Guid.NewGuid();
            var publicationId = Guid.NewGuid();

            using (var context = InMemoryApplicationDbContext())
            {
                context.Add(new Publication
                {
                    Id             = publicationId,
                    LegacyReleases = new List <LegacyRelease>
                    {
                        new LegacyRelease
                        {
                            Id          = id,
                            Description = "Test description 1",
                            Url         = "http://test1.com",
                            Order       = 1,
                        },
                        new LegacyRelease
                        {
                            Id          = Guid.NewGuid(),
                            Description = "Test description 2",
                            Url         = "http://test2.com",
                            Order       = 2,
                        },
                        new LegacyRelease
                        {
                            Id          = Guid.NewGuid(),
                            Description = "Test description 3",
                            Url         = "http://test3.com",
                            Order       = 3,
                        }
                    }
                });

                context.SaveChanges();

                var legacyReleaseService = new LegacyReleaseService(
                    context,
                    AdminMapper(),
                    MockUtils.AlwaysTrueUserService().Object,
                    new PersistenceHelper <ContentDbContext>(context)
                    );

                // Service method under test
                var result = await legacyReleaseService.DeleteLegacyRelease(id);

                var legacyReleases = context.LegacyReleases
                                     .OrderBy(release => release.Order)
                                     .ToList();

                Assert.Equal(2, legacyReleases.Count);
                Assert.Equal(2,
                             context.Publications
                             .Single(publication => publication.Id == publicationId)
                             .LegacyReleases
                             .Count
                             );

                Assert.Equal("Test description 2", legacyReleases[0].Description);
                Assert.Equal(1, legacyReleases[0].Order);

                Assert.Equal("Test description 3", legacyReleases[1].Description);
                Assert.Equal(2, legacyReleases[1].Order);
            }
        }