Ejemplo n.º 1
0
        public void alltags_should_add_to_cache_when_cache_is_empty()
        {
            // Arrange
            SettingsRepositoryMock settingsRepository = new SettingsRepositoryMock();
            PageRepositoryMock     pageRepository     = new PageRepositoryMock();

            pageRepository.AddNewPage(new Page()
            {
                Tags = "tag1;tag2"
            }, "text", "admin", DateTime.UtcNow);
            pageRepository.AddNewPage(new Page()
            {
                Tags = "tag3;tag4"
            }, "text", "admin", DateTime.UtcNow);

            CacheMock   listCache   = new CacheMock();
            PageService pageService = CreatePageService(null, listCache, settingsRepository, pageRepository);

            // Act
            pageService.AllTags();

            // Assert
            Assert.That(listCache.CacheItems.Count, Is.EqualTo(1));
            Assert.That(listCache.CacheItems.FirstOrDefault().Key, Is.EqualTo(CacheKeys.AllTags()));
        }
Ejemplo n.º 2
0
        public void AllTags_Should_Load_From_Cache()
        {
            // Arrange
            RepositoryMock repository = new RepositoryMock();
            CacheMock      listCache  = new CacheMock();

            PageService   pageService  = CreatePageService(null, listCache, repository);
            List <string> expectedTags = new List <string>()
            {
                "tag1", "tag2", "tag3"
            };

            AddListCacheItem(listCache, CacheKeys.AllTags(), expectedTags);

            // Act
            IEnumerable <string> actualTags = pageService.AllTags().Select(x => x.Name);

            // Assert
            Assert.That(actualTags, Is.SubsetOf(expectedTags));
        }
Ejemplo n.º 3
0
        public void updatepage_should_clear_list_cache_and_pagesummary_cache()
        {
            // Arrange
            SettingsRepositoryMock settingsRepository = new SettingsRepositoryMock();
            PageRepositoryMock     pageRepository     = new PageRepositoryMock();

            pageRepository.AddNewPage(new Page()
            {
                Tags = "homepage"
            }, "text", "admin", DateTime.UtcNow);
            pageRepository.AddNewPage(new Page()
            {
                Tags = "tag2"
            }, "text", "admin", DateTime.UtcNow);

            CacheMock   pageCache   = new CacheMock();
            CacheMock   listCache   = new CacheMock();
            PageService pageService = CreatePageService(pageCache, listCache, settingsRepository, pageRepository);

            PageViewModel homepageModel = CreatePageViewModel();

            homepageModel.Id = 1;
            PageViewModel page2Model = CreatePageViewModel();

            page2Model.Id = 2;

            AddPageCacheItem(pageCache, CacheKeys.HomepageKey(), homepageModel);
            pageCache.Add(CacheKeys.PageViewModelKey(2, 0), page2Model, new CacheItemPolicy());
            AddListCacheItem(listCache, CacheKeys.AllTags(), new List <string>()
            {
                "tag1", "tag2"
            });

            // Act
            pageService.UpdatePage(page2Model);

            // Assert
            Assert.That(pageCache.CacheItems.Count, Is.EqualTo(1));
            Assert.That(listCache.CacheItems.Count, Is.EqualTo(0));
        }
Ejemplo n.º 4
0
        public void AllTags_Should_Add_To_Cache_When_Cache_Is_Empty()
        {
            // Arrange
            RepositoryMock repository = new RepositoryMock();

            repository.AddNewPage(new Page()
            {
                Tags = "tag1;tag2"
            }, "text", "admin", DateTime.UtcNow);
            repository.AddNewPage(new Page()
            {
                Tags = "tag3;tag4"
            }, "text", "admin", DateTime.UtcNow);

            CacheMock   listCache   = new CacheMock();
            PageService pageService = CreatePageService(null, listCache, repository);

            // Act
            pageService.AllTags();

            // Assert
            Assert.That(listCache.CacheItems.Count, Is.EqualTo(1));
            Assert.That(listCache.CacheItems.FirstOrDefault().Key, Is.EqualTo(CacheKeys.AllTags()));
        }