public async Task SearchAsync_NoHits()
        {
            CdnjsCatalog sut = SetupCatalog();

            IReadOnlyList <ILibraryGroup> absolute = await sut.SearchAsync(@"*9)_-", 1, CancellationToken.None);

            Assert.AreEqual(0, absolute.Count);
        }
Esempio n. 2
0
        public async Task SearchAsync_NullString()
        {
            CdnjsCatalog sut = Initialize();

            IReadOnlyList <ILibraryGroup> absolute = await sut.SearchAsync(null, 1, CancellationToken.None);

            Assert.AreEqual(1, absolute.Count);
        }
        public async Task SearchAsync_MultipleMatches()
        {
            CdnjsCatalog sut = SetupCatalog();

            IReadOnlyList <ILibraryGroup> result = await sut.SearchAsync(term : "test", 5, CancellationToken.None);

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual("test-library", result.First().DisplayName);
            Assert.AreEqual("test-library2", result.Last().DisplayName);
        }
        public async Task SearchAsync_CacheDownloadFailsWhenNoCacheFileExists_FindsNoMatches()
        {
            var fakeCacheService = new Mock <ICacheService>();

            fakeCacheService.Setup(x => x.GetContentsFromUriWithCacheFallbackAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .Throws(new ResourceDownloadException("Cache download failed."));
            CdnjsCatalog sut = SetupCatalog(fakeCacheService.Object);

            IReadOnlyList <ILibraryGroup> result = await sut.SearchAsync("test", 5, CancellationToken.None);

            Assert.AreEqual(0, result.Count);
        }
        public async Task SearchAsync_Success_SingleMatch(string searchTerm, string expectedId)
        {
            CdnjsCatalog sut = SetupCatalog();

            IReadOnlyList <ILibraryGroup> absolute = await sut.SearchAsync(searchTerm, 2, CancellationToken.None);

            Assert.AreEqual(1, absolute.Count);

            IEnumerable <string> versions = await absolute[0].GetLibraryVersions(CancellationToken.None);

            Assert.IsTrue(versions.Any());

            ILibrary library = await sut.GetLibraryAsync(absolute[0].DisplayName, versions.First(), CancellationToken.None);

            Assert.IsTrue(library.Files.Count > 0);
            Assert.AreEqual(expectedId, library.Name);
            Assert.AreEqual(1, library.Files.Count(f => f.Value));
            Assert.IsNotNull(library.Name);
            Assert.IsNotNull(library.Version);
            Assert.AreEqual(CdnjsProvider.IdText, library.ProviderId);
        }