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())); }
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)); }
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)); }
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())); }