public void should_throw_exception_when_passing_null_website() { string errorMessage = ApiResponses.WebsiteDetailsCannotBeNull; WebsiteDetails website = null; WebsiteDetailsDb websiteDb = null; _mapper.Setup(n => n.Map <WebsiteDetailsDb>(It.IsAny <WebsiteDetailsDb>())).Returns(websiteDb); _mapper.Setup(n => n.Map <WebsiteDetails>(It.IsAny <WebsiteDetailsDb>())).Returns(website); _sut.Invoking(n => n.Save(website)).Should().Throw <InvalidWebsiteDetailsException>().WithMessage(errorMessage); }
public void should_save_chosen_categories() { CategoryWebsiteDetails[] categories = new CategoryWebsiteDetails[] { new CategoryWebsiteDetails() { Id = 1, Name = "something 1" }, new CategoryWebsiteDetails() { Id = 2, Name = "something 2" } }; List <CategoryDb> categoriesDb = new() { new() { Id = 1, Name = "something 1" }, new() { Id = 2, Name = "something 2" } }; List <CategoryDb> actualCategories = new() { new() { Id = 3, Name = "test name" }, new() { Id = 4, Name = "test name 2" }, }; WebsiteDetailsDb alreadyExistingWebsiteDetails = new WebsiteDetailsBuilder().WithCategories(2).Build().Map(); alreadyExistingWebsiteDetails.Categories = actualCategories; WebsiteDetails websiteDetails = new WebsiteDetailsBuilder().WithCategories(categories).Build(); var mappedWebsiteDetails = websiteDetails.Map(); WebsiteDetailsDb result = null; Action <WebsiteDetailsDb> saveWebsiteDetails = (websiteDb) => { result = websiteDb; }; _websitesRepository.Setup(n => n.GetWithCategories(websiteDetails.Id)).Returns(alreadyExistingWebsiteDetails); _websitesRepository.Setup(n => n.Save(It.IsAny <WebsiteDetailsDb>())).Callback(saveWebsiteDetails); _categoriesRepository.Setup(n => n.Get(It.IsAny <Expression <Func <CategoryDb, bool> > >(), It.IsAny <Func <IQueryable <CategoryDb>, IOrderedQueryable <CategoryDb> > >(), It.IsAny <string>())).Returns(categoriesDb); _sut.Save(websiteDetails); result.Categories .Should() .BeEquivalentTo(new List <CategoryDb>() { new() { Id = 1, Name = "something 1" }, new() { Id = 2, Name = "something 2" } }); }
public void should_return_null_when_not_found() { int id = 1321; WebsiteDetails website = null; WebsiteDetailsDb gotWebsite = website.Map(); _mapper.Setup(n => n.Map <WebsiteDetails>(It.IsAny <WebsiteDetailsDb>())).Returns(website); _websitesRepository.Setup(n => n.Get(id)).Returns(gotWebsite); var result = _sut.Get(id); result.Should().BeNull(); }
public void should_return_website_details() { int id = 1321; WebsiteDetails website = new WebsiteDetailsBuilder().Build(); WebsiteDetailsDb gotWebsite = website.Map(); _mapper.Setup(n => n.Map <WebsiteDetails>(It.IsAny <WebsiteDetailsDb>())).Returns(website); _websitesRepository.Setup(n => n.Get(id)).Returns(gotWebsite); var result = _sut.Get(id); result.Should().BeEquivalentTo(website); }
public void should_return_saved_website_detail() { WebsiteDetails website = new WebsiteDetailsBuilder().WithId(123).Build(); WebsiteDetailsDb savedWebsite = website.Map(); _websitesRepository.Setup(n => n.GetWithCategories(website.Id)).Returns(savedWebsite); _mapper.Setup(n => n.Map <WebsiteDetailsDb>(It.IsAny <WebsiteDetailsDb>())).Returns(savedWebsite); _mapper.Setup(n => n.Map <WebsiteDetails>(It.IsAny <WebsiteDetailsDb>())).Returns(website); _websitesRepository.Setup(n => n.Save(It.IsAny <WebsiteDetailsDb>())).Returns(savedWebsite); var result = _sut.Save(website); result.Should().BeEquivalentTo(website); }
public void should_add_website_details_when_WebsiteIds_fulfilled() { CategoryAdd category = new() { Name = "Category test name", WebsitesIds = new List <int> { 1, 3 } }; CategoryDb mappedCategory = category.Map(); WebsiteDetailsDb[] websiteDetails = new WebsiteDetailsDb[] { new WebsiteDetailsDb { id = 1, Url = "test url 1" }, new WebsiteDetailsDb { id = 3, Url = "test url 3" }, }; CategoryDb expectedResult = new() { Id = 0, Name = "Category test name", Websites = new List <WebsiteDetailsDb> { new WebsiteDetailsDb { id = 1, Url = "test url 1" }, new WebsiteDetailsDb { id = 3, Url = "test url 3" } } }; CategoryDb insertedCategoryDb = null; Action <CategoryDb> insertCategory = (cat) => { insertedCategoryDb = cat; }; _mapper.Setup(n => n.Map <CategoryDb>(category)).Returns(mappedCategory); _websiteDetails.Setup(n => n.Get( n => category.WebsitesIds.Contains(n.id), It.IsAny <Func <IQueryable <WebsiteDetailsDb>, IOrderedQueryable <WebsiteDetailsDb> > >(), It.IsAny <string>())).Returns(websiteDetails); _categories.Setup(n => n.Insert(It.IsAny <CategoryDb>())).Callback(insertCategory); var result = _sut.Add(category); insertedCategoryDb.Should().BeEquivalentTo(expectedResult); } [Fact]
public void should_add_website_details() { WebsiteDetails website = new WebsiteDetailsBuilder().Build(); WebsiteDetailsDb websiteMapped = website.Map(); bool websiteAdded = false; Action <WebsiteDetailsDb> addWebsite = (website) => { websiteAdded = true; }; _mapper.Setup(n => n.Map <WebsiteDetailsDb>(It.IsAny <WebsiteDetails>())).Returns(websiteMapped); _websitesRepository.Setup(n => n.Add(It.IsAny <WebsiteDetailsDb>())).Callback(addWebsite); _sut.Add(website); websiteAdded.Should().BeTrue(); }
public void should_return_added_website_details() { WebsiteDetails website = new WebsiteDetailsBuilder().WithId(0).Build(); WebsiteDetailsDb websiteMapped = website.Map(); website.Id = 829; _mapper.Setup(n => n.Map <WebsiteDetailsDb>(It.IsAny <WebsiteDetails>())).Returns(websiteMapped); _mapper.Setup(n => n.Map <WebsiteDetails>(It.IsAny <WebsiteDetailsDb>())).Returns(website); _websitesRepository.Setup(n => n.Add(It.IsAny <WebsiteDetailsDb>())).Returns(websiteMapped); var result = _sut.Add(website); result.Should().BeEquivalentTo(website); }
public void should_add_website_details_without_categories_when_none_chosen() { WebsiteDetails websiteDetails = new WebsiteDetailsBuilder().WithCategories(0).Build(); var mappedWebsiteDetails = websiteDetails.Map(); WebsiteDetailsDb addingWebsiteCategory = null; Action <WebsiteDetailsDb> addWebsiteCategory = (cat) => { addingWebsiteCategory = cat; }; _websitesRepository.Setup(n => n.Add(It.IsAny <WebsiteDetailsDb>())) .Callback(addWebsiteCategory); _mapper.Setup(mapper => mapper.Map <WebsiteDetailsDb>(websiteDetails)).Returns(mappedWebsiteDetails); _sut.Add(websiteDetails); addingWebsiteCategory.Categories .Should() .BeEmpty(); }
public static WebsiteDetails Map(this WebsiteDetailsDb website) { if (website is null) { return(null); } return(new() { Id = website.id, Url = website.Url, MainNodeXPathToNewsContainer = website.MainNodeXPathToNewsContainer, NewsNodeTag = website.NewsNodeTag, NewsNodeClass = website.NewsNodeClass, TitleNodeTag = website.TitleNodeTag, TitleNodeClass = website.TitleNodeClass, DescriptionNodeTag = website.DescriptionNodeTag, DescriptionNodeClass = website.DescriptionNodeClass, ImgNodeClass = website.ImgNodeClass, Category = website.Category }); }
public WebsiteDetailsDb Save(WebsiteDetailsDb websiteDetails) { sqlContext.WebsitesDetails.Update(websiteDetails); return(websiteDetails); }
public WebsiteDetailsDb Add(WebsiteDetailsDb websiteDetails) { var test = sqlContext.WebsitesDetails.Add(websiteDetails); return(websiteDetails); }