Beispiel #1
0
            public void WhenCannotDisplayPrivateMetadata_ReturnsNull()
            {
                var viewModel = new ListPackageItemViewModel(_package, _user1);

                Assert.False(viewModel.CanDisplayPrivateMetadata);
                Assert.Null(viewModel.SignatureInformation);
            }
Beispiel #2
0
        public void AuthorsIsFlattenedAuthors()
        {
            var authors = new HashSet <PackageAuthor>();
            var author1 = new PackageAuthor
            {
                Name = "author1"
            };
            var author2 = new PackageAuthor
            {
                Name = "author2"
            };

            authors.Add(author1);
            authors.Add(author2);

            var flattenedAuthors = "something Completely different";

            var package = new Package()
            {
                Authors          = authors,
                FlattenedAuthors = flattenedAuthors
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package);

            Assert.Equal(flattenedAuthors, listPackageItemViewModel.Authors);
        }
Beispiel #3
0
        public void AuthorsIsFlattenedAuthors()
        {
            var authors = new HashSet <PackageAuthor>();
            var author1 = new PackageAuthor
            {
                Name = "author1"
            };
            var author2 = new PackageAuthor
            {
                Name = "author2"
            };

            authors.Add(author1);
            authors.Add(author2);

            var flattenedAuthors = "something Completely different";

            var package = new Package()
            {
                Version = "1.0.0",
#pragma warning disable 0618
                Authors = authors,
#pragma warning restore 0618
                FlattenedAuthors = flattenedAuthors
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.Equal(flattenedAuthors, listPackageItemViewModel.Authors);
        }
Beispiel #4
0
        public void UseVersionIfLatestSemVer2AndStableSemVer2NotSame()
        {
            var package = new Package()
            {
                Version               = "1.0.0",
                SemVerLevelKey        = SemVerLevelKey.SemVer2,
                IsLatestSemVer2       = true,
                IsLatestStableSemVer2 = false
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.True(listPackageItemViewModel.UseVersion);

            listPackageItemViewModel.LatestVersionSemVer2       = false;
            listPackageItemViewModel.LatestStableVersionSemVer2 = true;
            Assert.True(listPackageItemViewModel.UseVersion);

            listPackageItemViewModel.LatestVersionSemVer2       = false;
            listPackageItemViewModel.LatestStableVersionSemVer2 = false;
            Assert.True(listPackageItemViewModel.UseVersion);

            listPackageItemViewModel.LatestVersionSemVer2       = true;
            listPackageItemViewModel.LatestStableVersionSemVer2 = true;
            Assert.False(listPackageItemViewModel.UseVersion);
        }
Beispiel #5
0
        public void UseVersionIfLatestAndStableNotSame()
        {
            var package = new Package()
            {
                Version        = "1.0.0",
                IsLatest       = true,
                IsLatestStable = false
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.True(listPackageItemViewModel.UseVersion);

            listPackageItemViewModel.LatestVersion       = false;
            listPackageItemViewModel.LatestStableVersion = true;
            Assert.True(listPackageItemViewModel.UseVersion);

            listPackageItemViewModel.LatestVersion       = false;
            listPackageItemViewModel.LatestStableVersion = false;
            Assert.True(listPackageItemViewModel.UseVersion);

            listPackageItemViewModel.LatestVersion       = true;
            listPackageItemViewModel.LatestStableVersion = true;
            Assert.False(listPackageItemViewModel.UseVersion);
        }
Beispiel #6
0
        public void HasSingleOwner(Package package, bool expectedResult)
        {
            // Arrange
            var listPackageItemViewModel = new ListPackageItemViewModel(package, currentUser: null);

            // Act + Assert
            Assert.Equal(expectedResult, listPackageItemViewModel.HasSingleUserOwner);
        }
Beispiel #7
0
            public void WhenPackageCertificateIsNull_ReturnsNull()
            {
                _packageRegistration.Owners.Add(_user1);

                var viewModel = new ListPackageItemViewModel(_package, _user1);

                Assert.True(viewModel.CanDisplayPrivateMetadata);
                Assert.Null(viewModel.SignatureInformation);
            }
Beispiel #8
0
        public void EmptyTagsAreParsedEmpty()
        {
            var package = new Package()
            {
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package);

            Assert.Equal(null, listPackageItemViewModel.Tags);
        }
Beispiel #9
0
            public void WhenPackageCertificateIsNotNullAndNoOwners_ReturnsString()
            {
                SignPackage();

                var viewModel = new ListPackageItemViewModel(_package, _user1);

                viewModel.CanDisplayPrivateMetadata = true;

                Assert.Equal("Signed with certificate (E)", viewModel.SignatureInformation);
            }
Beispiel #10
0
        public void LicenseNamesAreParsedByCommas()
        {
            var package = new Package
            {
                LicenseNames = "l1,l2, l3 ,l4  ,  l5 ",
            };
            var packageViewModel = new ListPackageItemViewModel(package);

            Assert.Equal(new string[] { "l1", "l2", "l3", "l4", "l5" }, packageViewModel.LicenseNames);
        }
Beispiel #11
0
        public void UsesNormalizedPackageVersionIfNormalizedVersionMissing()
        {
            var package = new Package()
            {
                Version = "01.02.00.00"
            };
            var packageViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.Equal("1.2.0", packageViewModel.Version);
        }
Beispiel #12
0
        public void EmptyTagsAreParsedEmpty()
        {
            var package = new Package()
            {
                Version = "1.0.0"
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.Null(listPackageItemViewModel.Tags);
        }
        public OwnerRequestsListItemViewModel(PackageOwnerRequest request, IPackageService packageService, User currentUser)
        {
            Request = request;

            var package = packageService.FindPackageByIdAndVersion(request.PackageRegistration.Id, version: null, semVerLevelKey: SemVerLevelKey.SemVer2, allowPrerelease: true);

            Package = new ListPackageItemViewModel(package, currentUser);

            CanAccept = ActionsRequiringPermissions.HandlePackageOwnershipRequest.CheckPermissions(currentUser, Request.NewOwner) == PermissionsCheckResult.Allowed;
            CanCancel = Package.CanManageOwners;
        }
Beispiel #14
0
        public void LicenseNamesAreParsedByCommas()
        {
            var package = new Package
            {
                Version      = "1.0.0",
                LicenseNames = "l1,l2, l3 ,l4  ,  l5 ",
            };
            var packageViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.Equal(new string[] { "l1", "l2", "l3", "l4", "l5" }, packageViewModel.LicenseNames);
        }
Beispiel #15
0
        public void UsesNormalizedVersionForDisplay()
        {
            var package = new Package()
            {
                Version           = "01.02.00.00",
                NormalizedVersion = "1.3.0" // Different just to prove the View Model is using the DB column.
            };
            var packageViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.Equal("1.3.0", packageViewModel.Version);
        }
Beispiel #16
0
        public void LicenseUrlKeptWhenLicenseReportDisabled()
        {
            var package = new Package
            {
                HideLicenseReport = true,
                LicenseUrl        = "url"
            };
            var packageViewModel = new ListPackageItemViewModel(package);

            Assert.NotNull(packageViewModel.LicenseUrl);
        }
Beispiel #17
0
        public void LicenseNamesKeptWhenLicenseReportEnabled()
        {
            var package = new Package
            {
                HideLicenseReport = false,
                LicenseNames      = "l1"
            };
            var packageViewModel = new ListPackageItemViewModel(package);

            Assert.NotNull(packageViewModel.LicenseNames);
        }
Beispiel #18
0
        public void LicenseReportUrlKeptWhenLicenseReportEnabled()
        {
            var package = new Package
            {
                Version           = "1.0.0",
                HideLicenseReport = false,
                LicenseReportUrl  = "url"
            };
            var packageViewModel = new ListPackageItemViewModel(package);

            Assert.NotNull(packageViewModel.LicenseReportUrl);
        }
Beispiel #19
0
        public void LicenseUrlKeptWhenLicenseReportDisabled()
        {
            var package = new Package
            {
                Version           = "1.0.0",
                HideLicenseReport = true,
                LicenseUrl        = "url"
            };
            var packageViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.NotNull(packageViewModel.LicenseUrl);
        }
Beispiel #20
0
        public void LicenseNamesKeptWhenLicenseReportEnabled()
        {
            var package = new Package
            {
                Version           = "1.0.0",
                HideLicenseReport = false,
                LicenseNames      = "l1"
            };
            var packageViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.NotNull(packageViewModel.LicenseNames);
        }
Beispiel #21
0
            public void WhenPackageCertificateIsNotNullAndOneSigner_ReturnsString()
            {
                _packageRegistration.Owners.Add(_user1);

                ActivateCertificate(_user1);
                SignPackage();

                var viewModel = new ListPackageItemViewModel(_package, _user1);

                Assert.True(viewModel.CanDisplayPrivateMetadata);
                Assert.Equal("Signed with A's certificate (E)", viewModel.SignatureInformation);
            }
Beispiel #22
0
        public void ShortDescriptionsNotTruncated()
        {
            var description = "A Short Description";
            var package     = new Package()
            {
                Description = description
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package);

            Assert.Equal(description, listPackageItemViewModel.ShortDescription);
            Assert.Equal(false, listPackageItemViewModel.IsDescriptionTruncated);
        }
Beispiel #23
0
        public void LicenseReportFieldsKeptWhenLicenseReportDisabled()
        {
            var package = new Package
            {
                Version           = "1.0.0",
                HideLicenseReport = true,
                LicenseNames      = "l1",
                LicenseReportUrl  = "url"
            };
            var packageViewModel = new ListPackageItemViewModel(package);

            Assert.NotNull(packageViewModel.LicenseNames);
            Assert.NotNull(packageViewModel.LicenseReportUrl);
        }
Beispiel #24
0
        public void TagsAreParsed()
        {
            var package = new Package()
            {
                Tags = "tag1 tag2 tag3"
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package);

            Assert.Equal(3, listPackageItemViewModel.Tags.Count());
            Assert.True(listPackageItemViewModel.Tags.Contains("tag1"));
            Assert.True(listPackageItemViewModel.Tags.Contains("tag2"));
            Assert.True(listPackageItemViewModel.Tags.Contains("tag3"));
        }
Beispiel #25
0
        public void ShortDescriptionsNotTruncated()
        {
            var description = "A Short Description";
            var package     = new Package()
            {
                Version     = "1.0.0",
                Description = description
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.Equal(description, listPackageItemViewModel.ShortDescription);
            Assert.False(listPackageItemViewModel.IsDescriptionTruncated);
        }
Beispiel #26
0
        public void TagsAreParsed()
        {
            var package = new Package()
            {
                Version = "1.0.0",
                Tags    = "tag1 tag2 tag3"
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package, currentUser: null);

            Assert.Equal(3, listPackageItemViewModel.Tags.Count());
            Assert.Contains("tag1", listPackageItemViewModel.Tags);
            Assert.Contains("tag2", listPackageItemViewModel.Tags);
            Assert.Contains("tag3", listPackageItemViewModel.Tags);
        }
Beispiel #27
0
        public void LongDescriptionsSingleWordTruncatedToLimit()
        {
            var charLimit   = 300;
            var omission    = "...";
            var description = @"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";

            var package = new Package()
            {
                Description = description
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package);

            Assert.Equal(charLimit + omission.Length, listPackageItemViewModel.ShortDescription.Length);
            Assert.Equal(true, listPackageItemViewModel.IsDescriptionTruncated);
            Assert.True(listPackageItemViewModel.ShortDescription.EndsWith(omission));
        }
Beispiel #28
0
        public void LongDescriptionsTruncated()
        {
            var omission    = "...";
            var description = @"A Longer description full of nonsense that will get truncated. Lorem ipsum dolor sit amet, ad nemore gubergren eam. Ea quaeque labores deseruisse his, eos munere convenire at, in eos audire persius corpora. Te his volumus detracto offendit, has ne illud choro. No illum quaestio mel, novum democritum te sea, et nam nisl officiis salutandi. Vis ut harum docendi incorrupte, nam affert putent sententiae id, mei cibo omnium id. Ea est falli graeci voluptatibus, est mollis denique ne.
An nec tempor cetero vituperata.Ius cu dicunt regione interpretaris, posse veniam facilisis ad vim, sit ei sale integre. Mel cu aliquid impedit scribentur.Nostro recusabo sea ei, nec habeo instructior no, saepe altera adversarium vel cu.Nonumes molestiae sit at, per enim necessitatibus cu.
At mei iriure dignissim theophrastus.Meis nostrud te sit, equidem maiorum pri ex.Vim dolorem fuisset an. At sit veri illum oratio, et per dicat contentiones. In eam tale tation, mei dicta labitur corpora ei, homero equidem suscipit ut eam.";

            var package = new Package()
            {
                Description = description
            };

            var listPackageItemViewModel = new ListPackageItemViewModel(package);

            Assert.NotEqual(description, listPackageItemViewModel.ShortDescription);
            Assert.Equal(true, listPackageItemViewModel.IsDescriptionTruncated);
            Assert.True(listPackageItemViewModel.ShortDescription.EndsWith(omission));
            Assert.True(description.Contains(listPackageItemViewModel.ShortDescription.Substring(0, listPackageItemViewModel.ShortDescription.Length - 1 - omission.Length)));
        }