Ejemplo n.º 1
0
            public void WillOnlyReturnCuratedPackageVersions()
            {
                // I.e. Not all versions for a registration
                var service = new TestableCuratedFeedService();

                var stubCuratedPackageVersion = new CuratedPackageVersion
                {
                    Key                    = 101,
                    Package                = service.StubPackage,
                    PackageKey             = service.StubPackage.Key,
                    CuratedFeed            = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeed,
                    CuratedFeedKey         = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeedKey,
                    CuratedPackage         = service.StubCuratedPackageRegistration_ForFeed1,
                    CuratedPackageKey      = service.StubCuratedPackageRegistration_ForFeed1.Key,
                    PackageRegistration    = service.StubPackage.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage.PackageRegistrationKey
                };

                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Add(stubCuratedPackageVersion);

                var packages = service.GetPackages(service.StubCuratedFeed.Name).ToList();

                Assert.Contains(service.StubPackage, packages);
                Assert.DoesNotContain(service.StubPackage_IncompatibleVersion, packages);
            }
Ejemplo n.º 2
0
            public void CommitChanges()
            {
                var service = new TestableCuratedFeedService();

                service.UpdateIsLatest(service.StubPackageRegistration_ForFeed1, true);

                service.StubCuratedPackageRepository.Verify(r => r.CommitChanges(), Times.Once());
            }
Ejemplo n.º 3
0
            public void WillOnlyReturnCuratedPackageRegistrationsForSpecificFeed()
            {
                var service = new TestableCuratedFeedService();

                var registrations = service.GetCuratedPackageRegistrations(service.StubCuratedFeed.Name).ToList();

                Assert.Contains(service.StubCuratedPackageRegistration_ForFeed1, registrations);
                Assert.DoesNotContain(service.StubCuratedPackageRegistration_ForFeed2, registrations);
            }
Ejemplo n.º 4
0
            public void WillOnlyReturnIncludedPackageRegistrations()
            {
                var service = new TestableCuratedFeedService();

                var packageRegistrations = service.GetPackageRegistrations(service.StubCuratedFeed.Name).ToList();

                Assert.Contains(service.StubPackageRegistration_ForFeed1, packageRegistrations);
                Assert.DoesNotContain(service.StubPackageRegistration_ForFeed1_NotIncluded, packageRegistrations);
            }
            public async Task WillThrowWhenCuratedFeedDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                await Assert.ThrowsAsync<ArgumentNullException>(
                    async () => await svc.CreatedCuratedPackageAsync(
                        null,
                        svc.StubPackageRegistration));
            }
            public async Task WillThrowWhenPackageRegistrationDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                await Assert.ThrowsAsync <ArgumentNullException>(
                    async() => await svc.CreatedCuratedPackageAsync(
                        svc.StubCuratedFeed,
                        null));
            }
Ejemplo n.º 7
0
            public void WillThrowWhenCuratedPackageDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                Assert.Throws <InvalidOperationException>(
                    () => svc.DeleteCuratedPackage(
                        0,
                        1066));
            }
Ejemplo n.º 8
0
            public void WillThrowWhenPackageRegistrationDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                Assert.Throws <ArgumentNullException>(
                    () => svc.CreatedCuratedPackage(
                        svc.StubCuratedFeed,
                        null));
            }
            public void WillThrowWhenCuratedFeedDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                Assert.Throws<ArgumentNullException>(
                    () => svc.CreatedCuratedPackage(
                        null,
                        svc.StubPackageRegistration));
            }
            public async Task WillThrowWhenCuratedPackageDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                await Assert.ThrowsAsync <InvalidOperationException>(
                    async() => await svc.DeleteCuratedPackageAsync(
                        0,
                        1066));
            }
            public async Task WillThrowWhenCuratedFeedDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                await Assert.ThrowsAsync <InvalidOperationException>(
                    async() => await svc.ModifyCuratedPackageAsync(
                        42,
                        0,
                        false));
            }
Ejemplo n.º 12
0
            public void WillThrowWhenCuratedFeedDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                Assert.Throws <InvalidOperationException>(
                    () => svc.ModifyCuratedPackage(
                        42,
                        0,
                        false));
            }
            public async Task WillDeleteTheCuratedPackage()
            {
                var svc = new TestableCuratedFeedService();

                await svc.DeleteCuratedPackageAsync(
                    0,
                    1066);

                svc.StubCuratedPackageRepository.Verify(stub => stub.DeleteOnCommit(svc.StubCuratedPackage));
                svc.StubCuratedPackageRepository.Verify(stub => stub.CommitChangesAsync());
            }
Ejemplo n.º 14
0
            public void WillDeleteTheCuratedPackage()
            {
                var svc = new TestableCuratedFeedService();

                svc.DeleteCuratedPackage(
                    0,
                    1066);

                svc.StubCuratedPackageRepository.Verify(stub => stub.DeleteOnCommit(svc.StubCuratedPackage));
                svc.StubCuratedPackageRepository.Verify(stub => stub.CommitChanges());
            }
Ejemplo n.º 15
0
            public void WillModifyAndSaveTheCuratedPackage()
            {
                var svc = new TestableCuratedFeedService();

                svc.ModifyCuratedPackage(
                    0,
                    1066,
                    true);

                Assert.True(svc.StubCuratedPackage.Included);
                svc.StubCuratedPackageRepository.Verify(stub => stub.CommitChanges());
            }
Ejemplo n.º 16
0
            public void WillSaveTheEntityChanges()
            {
                var svc = new TestableCuratedFeedService();

                svc.CreatedCuratedPackage(
                    svc.StubCuratedFeed,
                    svc.StubPackageRegistration,
                    false,
                    true,
                    "theNotes");

                svc.StubCuratedPackageRepository.Verify(stub => stub.InsertOnCommit(It.IsAny <CuratedPackage>()));
                svc.StubCuratedPackageRepository.Verify(stub => stub.CommitChanges());
            }
Ejemplo n.º 17
0
            public void WillSaveTheEntityChanges()
            {
                var svc = new TestableCuratedFeedService();

                svc.StubPackageRegistration_ForFeed1.Key = 1067;
                svc.StubPackage.PackageRegistrationKey   = svc.StubPackageRegistration_ForFeed1.Key;

                svc.CreatedCuratedPackage(
                    svc.StubCuratedFeed,
                    svc.StubPackage,
                    false,
                    true,
                    "theNotes");

                svc.StubCuratedFeedRepository.Verify(stub => stub.CommitChanges());
            }
Ejemplo n.º 18
0
            public void WillReturnTheCreatedCuratedPackage()
            {
                var svc = new TestableCuratedFeedService();

                svc.StubPackageRegistration.Key = 1066;

                var curatedPackage = svc.CreatedCuratedPackage(
                    svc.StubCuratedFeed,
                    svc.StubPackageRegistration,
                    false,
                    true,
                    "theNotes");

                Assert.Equal(1066, curatedPackage.PackageRegistrationKey);
                Assert.Equal(false, curatedPackage.Included);
                Assert.Equal(true, curatedPackage.AutomaticallyCurated);
                Assert.Equal("theNotes", curatedPackage.Notes);
            }
Ejemplo n.º 19
0
            public void DoesNotSetLaterIncompatiblePackageAsLatest()
            {
                var service = new TestableCuratedFeedService();

                var stubCuratedPackageVersion = new CuratedPackageVersion
                {
                    Key                    = 101,
                    Package                = service.StubPackage,
                    PackageKey             = service.StubPackage.Key,
                    CuratedFeed            = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeed,
                    CuratedFeedKey         = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeedKey,
                    CuratedPackage         = service.StubCuratedPackageRegistration_ForFeed1,
                    CuratedPackageKey      = service.StubCuratedPackageRegistration_ForFeed1.Key,
                    PackageRegistration    = service.StubPackage.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage.PackageRegistrationKey
                };
                var stubCuratedPackageVersion_IncompatibleVersion = new CuratedPackageVersion
                {
                    Key                    = 101,
                    Package                = service.StubPackage_IncompatibleVersion,
                    PackageKey             = service.StubPackage_IncompatibleVersion.Key,
                    CuratedFeed            = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeed,
                    CuratedFeedKey         = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeedKey,
                    CuratedPackage         = service.StubCuratedPackageRegistration_ForFeed1,
                    CuratedPackageKey      = service.StubCuratedPackageRegistration_ForFeed1.Key,
                    PackageRegistration    = service.StubPackage_IncompatibleVersion.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage_IncompatibleVersion.PackageRegistrationKey
                };

                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Add(stubCuratedPackageVersion);
                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Add(stubCuratedPackageVersion_IncompatibleVersion);

                service.UpdateIsLatest(service.StubPackageRegistration_ForFeed1, true);

                Assert.Same(service.StubPackage_IncompatibleVersion, service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Single(cpv => cpv.IsLatest).Package);

                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Remove(stubCuratedPackageVersion_IncompatibleVersion);

                service.UpdateIsLatest(service.StubPackageRegistration_ForFeed1, true);

                Assert.Same(service.StubPackage, service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Single(cpv => cpv.IsLatest).Package);
            }
            public async Task WillAddANewCuratedPackageToTheCuratedFeed()
            {
                var svc = new TestableCuratedFeedService();

                svc.StubPackageRegistration.Key = 1066;

                await svc.CreatedCuratedPackageAsync(
                    svc.StubCuratedFeed,
                    svc.StubPackageRegistration,
                    false,
                    true,
                    "theNotes");

                var curatedPackage = svc.StubCuratedFeed.Packages.First();

                Assert.Equal(1066, curatedPackage.PackageRegistrationKey);
                Assert.Equal(false, curatedPackage.Included);
                Assert.Equal(true, curatedPackage.AutomaticallyCurated);
                Assert.Equal("theNotes", curatedPackage.Notes);
            }
Ejemplo n.º 21
0
            public void WillAddANewCuratedPackageToTheCuratedFeed()
            {
                var svc = new TestableCuratedFeedService();

                svc.StubPackageRegistration_ForFeed1.Key = 1067;
                svc.StubPackage.PackageRegistrationKey   = svc.StubPackageRegistration_ForFeed1.Key;

                svc.CreatedCuratedPackage(
                    svc.StubCuratedFeed,
                    svc.StubPackage,
                    false,
                    true,
                    "theNotes");

                var curatedPackage = svc.StubCuratedFeed.Packages.Last();

                Assert.Equal(1067, curatedPackage.PackageRegistrationKey);
                Assert.Equal(false, curatedPackage.Included);
                Assert.Equal(true, curatedPackage.AutomaticallyCurated);
                Assert.Equal("theNotes", curatedPackage.Notes);
            }
Ejemplo n.º 22
0
            public void WillOnlyReturnPackageVersionsForIncludedPackageRegistrations()
            {
                var service = new TestableCuratedFeedService();

                var stubCuratedPackageVersion = new CuratedPackageVersion
                {
                    Key                    = 101,
                    Package                = service.StubPackage,
                    PackageKey             = service.StubPackage.Key,
                    CuratedFeed            = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeed,
                    CuratedFeedKey         = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeedKey,
                    CuratedPackage         = service.StubCuratedPackageRegistration_ForFeed1,
                    CuratedPackageKey      = service.StubCuratedPackageRegistration_ForFeed1.Key,
                    PackageRegistration    = service.StubPackage.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage.PackageRegistrationKey
                };
                var stubCuratedPackageVersion_ForFeed1_NotIncluded = new CuratedPackageVersion
                {
                    Key                    = 101,
                    Package                = service.StubPackage_ForFeed1_NotIncluded,
                    PackageKey             = service.StubPackage_ForFeed1_NotIncluded.Key,
                    CuratedFeed            = service.StubCuratedPackageRegistration_ForFeed1_NotIncluded.CuratedFeed,
                    CuratedFeedKey         = service.StubCuratedPackageRegistration_ForFeed1_NotIncluded.CuratedFeedKey,
                    CuratedPackage         = service.StubCuratedPackageRegistration_ForFeed1_NotIncluded,
                    CuratedPackageKey      = service.StubCuratedPackageRegistration_ForFeed1_NotIncluded.Key,
                    PackageRegistration    = service.StubPackage_ForFeed1_NotIncluded.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage_ForFeed1_NotIncluded.PackageRegistrationKey
                };

                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Add(stubCuratedPackageVersion);
                service.StubCuratedPackageRegistration_ForFeed1_NotIncluded.CuratedPackageVersions.Add(stubCuratedPackageVersion_ForFeed1_NotIncluded);

                var packages = service.GetPackages(service.StubCuratedFeed.Name).ToList();

                Assert.Contains(service.StubPackage, packages);
                Assert.DoesNotContain(service.StubPackage_ForFeed1_NotIncluded, packages);
            }
            public async Task WillThrowWhenCuratedFeedDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                await Assert.ThrowsAsync<InvalidOperationException>(
                    async () => await svc.ModifyCuratedPackageAsync(
                        42,
                        0,
                        false));
            }
            public async Task WillModifyAndSaveTheCuratedPackage()
            {
                var svc = new TestableCuratedFeedService();

                await svc.ModifyCuratedPackageAsync(
                    0,
                    1066,
                    true);

                Assert.True(svc.StubCuratedPackage.Included);
                svc.StubCuratedPackageRepository.Verify(stub => stub.CommitChangesAsync());
            }
            public void WillModifyAndSaveTheCuratedPackage()
            {
                var svc = new TestableCuratedFeedService();

                svc.ModifyCuratedPackage(
                    0,
                    1,
                    true);

                Assert.True(svc.StubCuratedPackageRegistration_ForFeed1.Included);
                svc.StubCuratedFeedRepository.Verify(stub => stub.CommitChanges());
            }
            public async Task WillSaveTheEntityChanges()
            {
                var svc = new TestableCuratedFeedService();

                await svc.CreatedCuratedPackageAsync(
                    svc.StubCuratedFeed,
                    svc.StubPackageRegistration,
                    false,
                    true,
                    "theNotes");

                svc.StubCuratedPackageRepository.Verify(stub => stub.InsertOnCommit(It.IsAny<CuratedPackage>()));
                svc.StubCuratedPackageRepository.Verify(stub => stub.CommitChangesAsync());
            }
            public void WillThrowWhenCuratedPackageDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                Assert.Throws<InvalidOperationException>(
                    () => svc.DeleteCuratedPackage(
                        0,
                        1066));
            }
            public void WillDeleteTheCuratedPackage()
            {
                var svc = new TestableCuratedFeedService();

                svc.DeleteCuratedPackage(
                    0,
                    1066);

                svc.StubCuratedPackageRepository.Verify(stub => stub.DeleteOnCommit(svc.StubCuratedPackage));
                svc.StubCuratedPackageRepository.Verify(stub => stub.CommitChanges());
            }
            public void WillReturnTheCreatedCuratedPackage()
            {
                var svc = new TestableCuratedFeedService();
                svc.StubPackageRegistration.Key = 1066;

                var curatedPackage = svc.CreatedCuratedPackage(
                    svc.StubCuratedFeed,
                    svc.StubPackageRegistration,
                    false,
                    true,
                    "theNotes");

                Assert.Equal(1066, curatedPackage.PackageRegistrationKey);
                Assert.Equal(false, curatedPackage.Included);
                Assert.Equal(true, curatedPackage.AutomaticallyCurated);
                Assert.Equal("theNotes", curatedPackage.Notes);
            }
            public void WillThrowWhenCuratedFeedDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                Assert.Throws<InvalidOperationException>(
                    () => svc.ModifyCuratedPackage(
                        42,
                        0,
                        false));
            }
            public void WillOnlyReturnIncludedPackageRegistrations()
            {
                var service = new TestableCuratedFeedService();

                var packageRegistrations = service.GetPackageRegistrations(service.StubCuratedFeed.Name).ToList();
                Assert.Contains(service.StubPackageRegistration_ForFeed1, packageRegistrations);
                Assert.DoesNotContain(service.StubPackageRegistration_ForFeed1_NotIncluded, packageRegistrations);
            }
            public void CommitChanges()
            {
                var service = new TestableCuratedFeedService();

                service.UpdateIsLatest(service.StubPackageRegistration_ForFeed1, true);

                service.StubCuratedPackageRepository.Verify(r => r.CommitChanges(), Times.Once());
            }
            public void WillOnlyReturnCuratedPackageRegistrationsForSpecificFeed()
            {
                var service = new TestableCuratedFeedService();

                var registrations = service.GetCuratedPackageRegistrations(service.StubCuratedFeed.Name).ToList();
                Assert.Contains(service.StubCuratedPackageRegistration_ForFeed1, registrations);
                Assert.DoesNotContain(service.StubCuratedPackageRegistration_ForFeed2, registrations);
            }
            public async Task WillThrowWhenCuratedPackageDoesNotExist()
            {
                var svc = new TestableCuratedFeedService();

                await Assert.ThrowsAsync<InvalidOperationException>(
                    async () => await svc.DeleteCuratedPackageAsync(
                        0,
                        1066));
            }
            public void WillOnlyReturnPackageVersionsForIncludedPackageRegistrations()
            {
                var service = new TestableCuratedFeedService();

                var stubCuratedPackageVersion = new CuratedPackageVersion
                {
                    Key = 101,
                    Package = service.StubPackage,
                    PackageKey = service.StubPackage.Key,
                    CuratedFeed = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeed,
                    CuratedFeedKey = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeedKey,
                    CuratedPackage = service.StubCuratedPackageRegistration_ForFeed1,
                    CuratedPackageKey = service.StubCuratedPackageRegistration_ForFeed1.Key,
                    PackageRegistration = service.StubPackage.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage.PackageRegistrationKey
                };
                var stubCuratedPackageVersion_ForFeed1_NotIncluded = new CuratedPackageVersion
                {
                    Key = 101,
                    Package = service.StubPackage_ForFeed1_NotIncluded,
                    PackageKey = service.StubPackage_ForFeed1_NotIncluded.Key,
                    CuratedFeed = service.StubCuratedPackageRegistration_ForFeed1_NotIncluded.CuratedFeed,
                    CuratedFeedKey = service.StubCuratedPackageRegistration_ForFeed1_NotIncluded.CuratedFeedKey,
                    CuratedPackage = service.StubCuratedPackageRegistration_ForFeed1_NotIncluded,
                    CuratedPackageKey = service.StubCuratedPackageRegistration_ForFeed1_NotIncluded.Key,
                    PackageRegistration = service.StubPackage_ForFeed1_NotIncluded.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage_ForFeed1_NotIncluded.PackageRegistrationKey
                };

                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Add(stubCuratedPackageVersion);
                service.StubCuratedPackageRegistration_ForFeed1_NotIncluded.CuratedPackageVersions.Add(stubCuratedPackageVersion_ForFeed1_NotIncluded);

                var packages = service.GetPackages(service.StubCuratedFeed.Name).ToList();

                Assert.Contains(service.StubPackage, packages);
                Assert.DoesNotContain(service.StubPackage_ForFeed1_NotIncluded, packages);
            }
            public void WillSaveTheEntityChanges()
            {
                var svc = new TestableCuratedFeedService();
                svc.StubPackageRegistration_ForFeed1.Key = 1067;
                svc.StubPackage.PackageRegistrationKey = svc.StubPackageRegistration_ForFeed1.Key;

                svc.CreatedCuratedPackage(
                    svc.StubCuratedFeed,
                    svc.StubPackage,
                    false,
                    true,
                    "theNotes");

                svc.StubCuratedFeedRepository.Verify(stub => stub.CommitChanges());
            }
            public void WillOnlyReturnCuratedPackageVersions()
            {
                // I.e. Not all versions for a registration
                var service = new TestableCuratedFeedService();

                var stubCuratedPackageVersion = new CuratedPackageVersion
                {
                    Key = 101,
                    Package = service.StubPackage,
                    PackageKey = service.StubPackage.Key,
                    CuratedFeed = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeed,
                    CuratedFeedKey = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeedKey,
                    CuratedPackage = service.StubCuratedPackageRegistration_ForFeed1,
                    CuratedPackageKey = service.StubCuratedPackageRegistration_ForFeed1.Key,
                    PackageRegistration = service.StubPackage.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage.PackageRegistrationKey
                };

                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Add(stubCuratedPackageVersion);

                var packages = service.GetPackages(service.StubCuratedFeed.Name).ToList();

                Assert.Contains(service.StubPackage, packages);
                Assert.DoesNotContain(service.StubPackage_IncompatibleVersion, packages);
            }
            public async Task WillDeleteTheCuratedPackage()
            {
                var svc = new TestableCuratedFeedService();

                await svc.DeleteCuratedPackageAsync(
                    0,
                    1066);

                svc.StubCuratedPackageRepository.Verify(stub => stub.DeleteOnCommit(svc.StubCuratedPackage));
                svc.StubCuratedPackageRepository.Verify(stub => stub.CommitChangesAsync());
            }
            public void DoesNotSetLaterIncompatiblePackageAsLatest()
            {
                var service = new TestableCuratedFeedService();

                var stubCuratedPackageVersion = new CuratedPackageVersion
                {
                    Key = 101,
                    Package = service.StubPackage,
                    PackageKey = service.StubPackage.Key,
                    CuratedFeed = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeed,
                    CuratedFeedKey = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeedKey,
                    CuratedPackage = service.StubCuratedPackageRegistration_ForFeed1,
                    CuratedPackageKey = service.StubCuratedPackageRegistration_ForFeed1.Key,
                    PackageRegistration = service.StubPackage.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage.PackageRegistrationKey
                };
                var stubCuratedPackageVersion_IncompatibleVersion = new CuratedPackageVersion
                {
                    Key = 101,
                    Package = service.StubPackage_IncompatibleVersion,
                    PackageKey = service.StubPackage_IncompatibleVersion.Key,
                    CuratedFeed = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeed,
                    CuratedFeedKey = service.StubCuratedPackageRegistration_ForFeed1.CuratedFeedKey,
                    CuratedPackage = service.StubCuratedPackageRegistration_ForFeed1,
                    CuratedPackageKey = service.StubCuratedPackageRegistration_ForFeed1.Key,
                    PackageRegistration = service.StubPackage_IncompatibleVersion.PackageRegistration,
                    PackageRegistrationKey = service.StubPackage_IncompatibleVersion.PackageRegistrationKey
                };

                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Add(stubCuratedPackageVersion);
                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Add(stubCuratedPackageVersion_IncompatibleVersion);

                service.UpdateIsLatest(service.StubPackageRegistration_ForFeed1, true);

                Assert.Same(service.StubPackage_IncompatibleVersion, service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Single(cpv => cpv.IsLatest).Package);

                service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Remove(stubCuratedPackageVersion_IncompatibleVersion);

                service.UpdateIsLatest(service.StubPackageRegistration_ForFeed1, true);

                Assert.Same(service.StubPackage, service.StubCuratedPackageRegistration_ForFeed1.CuratedPackageVersions.Single(cpv => cpv.IsLatest).Package);
            }
            public async Task WillAddANewCuratedPackageToTheCuratedFeed()
            {
                var svc = new TestableCuratedFeedService();
                svc.StubPackageRegistration.Key = 1066;

                await svc.CreatedCuratedPackageAsync(
                    svc.StubCuratedFeed,
                    svc.StubPackageRegistration,
                    false,
                    true,
                    "theNotes");

                var curatedPackage = svc.StubCuratedFeed.Packages.First();
                Assert.Equal(1066, curatedPackage.PackageRegistrationKey);
                Assert.Equal(false, curatedPackage.Included);
                Assert.Equal(true, curatedPackage.AutomaticallyCurated);
                Assert.Equal("theNotes", curatedPackage.Notes);
            }
            public void WillAddANewCuratedPackageToTheCuratedFeed()
            {
                var svc = new TestableCuratedFeedService();
                svc.StubPackageRegistration_ForFeed1.Key = 1067;
                svc.StubPackage.PackageRegistrationKey = svc.StubPackageRegistration_ForFeed1.Key;

                svc.CreatedCuratedPackage(
                    svc.StubCuratedFeed,
                    svc.StubPackage,
                    false,
                    true,
                    "theNotes");

                var curatedPackage = svc.StubCuratedFeed.Packages.Last();
                Assert.Equal(1067, curatedPackage.PackageRegistrationKey);
                Assert.Equal(false, curatedPackage.Included);
                Assert.Equal(true, curatedPackage.AutomaticallyCurated);
                Assert.Equal("theNotes", curatedPackage.Notes);
            }