public async Task Meta_Contains_Key_Multiple_Terms_Found_Returns_None_With_MultipleTermsFoundMsg() { // Arrange var a0 = new Attachment(); var a1 = new Attachment(); var attachments = new[] { a0, a1 }; 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 queryPosts = Substitute.For <IQueryPosts>(); queryPosts.ExecuteAsync <Attachment>(db, unitOfWork, Arg.Any <GetPostsOptions>()).Returns(attachments); var field = new TestCustomField(queryPosts, key); // Act var result = await field.HydrateAsync(db, unitOfWork, meta, true); // Assert var none = result.AssertNone().AssertType <MultipleAttachmentsFoundMsg>(); Assert.Equal(value.ToString(), none.Value); }
public async Task Meta_Contains_Key_Single_Item_Found_Sets_ValueObj_Returns_True() { // Arrange var attachment = new Attachment(); var attachments = new[] { attachment }; var db = Substitute.For <IWpDb>(); var unitOfWork = Substitute.For <IUnitOfWork>(); var key = Rnd.Str; var meta = new MetaDictionary { { key, Rnd.Lng.ToString() } }; var queryPosts = Substitute.For <IQueryPosts>(); queryPosts.ExecuteAsync <Attachment>(db, unitOfWork, Arg.Any <GetPostsOptions>()).Returns(attachments); var field = new TestCustomField(queryPosts, key); // Act var result = await field.HydrateAsync(db, unitOfWork, meta, true); // Assert result.AssertTrue(); Assert.Same(attachment, field.ValueObj); }
public async Task Meta_Contains_Key_Single_Item_Found_Sets_ValueObj_Properties_Returns_True() { // Arrange var attachment = new Attachment(); var urlPath = Rnd.Str; attachment.Meta.Add(Constants.Attachment, urlPath); var info = Rnd.Str; attachment.Meta.Add(Constants.AttachmentMetadata, "s:6:\"" + info + "\";"); var attachments = new[] { attachment }; var db = Substitute.For <IWpDb>(); var unitOfWork = Substitute.For <IUnitOfWork>(); var key = Rnd.Str; var meta = new MetaDictionary { { key, Rnd.Lng.ToString() } }; var queryPosts = Substitute.For <IQueryPosts>(); queryPosts.ExecuteAsync <Attachment>(db, unitOfWork, Arg.Any <GetPostsOptions>()).Returns(attachments); var field = new TestCustomField(queryPosts, key); // Act var result = await field.HydrateAsync(db, unitOfWork, meta, true); // Assert result.AssertTrue(); Assert.Equal(urlPath, field.ValueObj.UrlPath); Assert.Contains(info, field.ValueObj.Info); }