public void Returns_Valid_Query() { // Arrange var prefix = Rnd.Str; var schema = new WpDbSchema(prefix); var i0 = Rnd.ULng; var i1 = Rnd.ULng; var fileIds = ImmutableList.Create <WpPostId>(new() { Value = i0 }, new() { Value = i1 }); var virtualUploadsUrl = Rnd.Str; var expected = "SELECT " + "`p`.`ID` AS 'Id', " + "`p`.`post_title` AS 'Title', " + "`p`.`post_excerpt` AS 'Description', " + "`p`.`guid` AS 'Url', " + "`pm`.`meta_value` AS 'UrlPath', " + $"CONCAT('{virtualUploadsUrl}/', `pm`.`meta_value`) AS 'Url' " + $"FROM `{schema.Posts}` AS `p` " + $"LEFT JOIN `{schema.PostsMeta}` AS `pm` ON `p`.`ID` = `pm`.`post_id` " + $"WHERE `p`.`ID` IN ({i0},{i1}) " + "AND `pm`.`meta_key` = '_wp_attached_file';" ; // Act var result = QueryAttachmentsF.GetQuery(schema, fileIds, virtualUploadsUrl); // Assert var some = result.AssertSome(); Assert.Equal(expected, some); }
protected override (PostsTaxonomyOptions options, IQueryPostsTaxonomyPartsBuilder builder) Setup() { var schema = new WpDbSchema(Rnd.Str); var builder = GetConfiguredBuilder(schema.Terms); var options = new PostsTaxonomyOptions(schema, builder); return(options, builder); }
public static IEnumerable <object[]> Adds_SearchPostField_Data() { var post = new WpDbSchema(Rnd.Str).Posts; yield return(new object[] { SearchPostField.Title, post.Title }); yield return(new object[] { SearchPostField.Slug, post.Slug }); yield return(new object[] { SearchPostField.Content, post.Content }); yield return(new object[] { SearchPostField.Excerpt, post.Excerpt }); }
public static (IWpDb, IUnitOfWork, Vars) Setup() { var schema = new WpDbSchema(Rnd.Str); var uploadsPath = Rnd.Str; var config = new WpConfig { UploadsPath = uploadsPath }; var db = Substitute.For <IWpDb>(); db.Schema.Returns(schema); db.WpConfig.Returns(config); var transaction = Substitute.For <IDbTransaction>(); var unitOfWork = Substitute.For <IUnitOfWork>(); unitOfWork.Transaction.Returns(transaction); return(db, unitOfWork, new(schema, config, uploadsPath, transaction)); }
public void Creates_Tables_With_TablePrefix() { // Arrange var prefix = Rnd.Str; // Act var result = new WpDbSchema(prefix); // Assert Assert.StartsWith(prefix, result.Comments.ToString()); Assert.StartsWith(prefix, result.CommentsMeta.ToString()); Assert.StartsWith(prefix, result.Links.ToString()); Assert.StartsWith(prefix, result.Options.ToString()); Assert.StartsWith(prefix, result.Posts.ToString()); Assert.StartsWith(prefix, result.PostsMeta.ToString()); Assert.StartsWith(prefix, result.Terms.ToString()); Assert.StartsWith(prefix, result.TermsMeta.ToString()); Assert.StartsWith(prefix, result.TermRelationships.ToString()); Assert.StartsWith(prefix, result.TermTaxonomies.ToString()); Assert.StartsWith(prefix, result.Users.ToString()); Assert.StartsWith(prefix, result.UsersMeta.ToString()); }