public void ReplaceSettingWorksCorrectlyForTags() { var job = new Job { Name = "name", Url = "URL", Replace = true, Selections = new List <Selection> { new Selection { Output = OutputType.Tag, SearchPath = "#templateInfo h2", TagName = "tagname" } } }; var httpWrapperMock = new Mock <IHttpWrapper>(); httpWrapperMock.Setup(x => x.GetPageContent(It.IsAny <string>())) .Returns(Task.FromResult(StaticWebPageContent.Html)); var jobRepositoryMock = new Mock <IJobRepository>(); var dbContextProvider = MockedDbContextFactory.GetMock(); var tagRepository = new TagRepository(dbContextProvider.Object); var configurationMock = new Mock <IConfigurationProvider>(); var jobProcessor = new JobProcessor(tagRepository, jobRepositoryMock.Object, httpWrapperMock.Object, configurationMock.Object); jobProcessor.ProcessJob(job).Wait(); int tagId; using (var context = dbContextProvider.Object.GetContext()) { tagId = context.Tags.First().Id; } tagRepository.Clear("URL"); jobProcessor.ProcessJob(job).Wait(); using (var context = dbContextProvider.Object.GetContext()) { Assert.Equal(1, context.Sites.Count()); Assert.Equal(1, context.Tags.Count()); Assert.True(context.Tags.First().Id > tagId); } }
public void SearchinTagsRespectsAccessLevel() { var dbContextProvider = MockedDbContextFactory.GetMock(); var tagRepository = new TagRepository(dbContextProvider.Object); tagRepository.AddTag("URL", "NAME", "VALUE", 1); tagRepository.AddTag("URL", "NAME", "VALUE2", 2); tagRepository.AddTag("URL2", "NAME", "VALUE3", 3); tagRepository.AddTag("URL2", "NAME", "VALUE4", 4); var tags = tagRepository.SearchTags("a", 3); Assert.Equal(2, tags.Count); Assert.True(tags.Any(t => t.Value == "VALUE") && tags.Any(t => t.Value == "VALUE2")); }
public void TagsAreClearedCorrectly() { var dbContextProvider = MockedDbContextFactory.GetMock(); var tagRepository = new TagRepository(dbContextProvider.Object); tagRepository.AddTag("URL", "NAME", "VALUE", 1); tagRepository.AddTag("URL", "NAME", "VALUE2", 1); tagRepository.AddTag("URL", "NAME", "VALUE3", 1); tagRepository.AddTag("URL", "NAME", "VALUE4", 1); tagRepository.Clear("URL"); using (var context = dbContextProvider.Object.GetContext()) { Assert.Equal(1, context.Sites.Count()); Assert.Equal(0, context.Tags.Count()); } }
public void AddingTagCreatesTagAndSiteInDatabase() { var dbContextProvider = MockedDbContextFactory.GetMock(); var tagRepository = new TagRepository(dbContextProvider.Object); tagRepository.AddTag("URL", "NAME", "VALUE", 1); using (var context = dbContextProvider.Object.GetContext()) { Assert.Equal(1, context.Sites.Count()); Assert.Equal(1, context.Tags.Count()); Assert.Equal("URL", context.Sites.First().Url); Assert.Equal("NAME", context.Tags.First().Name); Assert.Equal("VALUE", context.Tags.First().Value); Assert.Equal("URL", context.Tags.Include(x => x.Site).First().Site.Url); } }