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_insert_category_with_empty_websites_when_WebsiteIds_not_fulfilled() { CategoryAdd category = new() { Name = "Category test name" }; CategoryDb mappedCategory = category.Map(); CategoryDb insertedCategoryDb = null; Action <CategoryDb> insertCategory = (cat) => { insertedCategoryDb = cat; }; _mapper.Setup(n => n.Map <CategoryDb>(category)).Returns(mappedCategory); _categories.Setup(n => n.Insert(mappedCategory)).Callback(insertCategory); _sut.Add(category); insertedCategoryDb .Should() .BeEquivalentTo( new CategoryDb { Id = 0, Name = "Category test name", Websites = null } ); }