public async Task Meta_Contains_Key_Single_Item_Found_Sets_ValueObj_Returns_True() { // Arrange var term = new Term(); var terms = new[] { term }; var db = Substitute.For <IWpDb>(); var unitOfWork = Substitute.For <IUnitOfWork>(); var key = Rnd.Str; var meta = new MetaDictionary { { key, Rnd.Lng.ToString() } }; var queryTerms = Substitute.For <IQueryTerms>(); queryTerms.ExecuteAsync <Term>(db, unitOfWork, Arg.Any <GetTermsOptions>()).Returns(terms); var field = new Test(queryTerms, key); // Act var result = await field.HydrateAsync(db, unitOfWork, meta, true); // Assert result.AssertTrue(); Assert.Same(term, field.ValueObj); }
public async Task Meta_Contains_Key_Multiple_Terms_Found_Returns_None_With_MultipleTermsFoundMsg() { // Arrange var t0 = new Term(); var t1 = new Term(); var terms = new[] { t0, t1 }; var db = Substitute.For <IWpDb>(); var unitOfWork = Substitute.For <IUnitOfWork>(); var key = Rnd.Str; var value = Rnd.Lng; var meta = new MetaDictionary { { key, value.ToString() } }; var queryTerms = Substitute.For <IQueryTerms>(); queryTerms.ExecuteAsync <Term>(db, unitOfWork, Arg.Any <GetTermsOptions>()).Returns(terms); var field = new Test(queryTerms, key); // Act var result = await field.HydrateAsync(db, unitOfWork, meta, true); // Assert var none = result.AssertNone().AssertType <MultipleTermsFoundMsg>(); Assert.Equal(value.ToString(), none.Value); }
public void Returns_Term_Title() { // Arrange var title = Rnd.Str; var term = new Term { Title = title }; var field = Substitute.ForPartsOf <TermCustomField>(Rnd.Str); field.ValueObj.Returns(term); // Act var result = field.GetValueAsStringTest(); // Assert Assert.Equal(title, result); }