it("should accept callback to continue chaining", function () {
     var builder = new ContentBuilder();
     var firstContent = null;
     builder.discussion().subject("YO").body("a").build(function (finishedContent) {
         firstContent = finishedContent;
     }).body("chaining").build().should.not.deep.equal(firstContent);
 });
        it("should change visibility", function () {
            var builder = new ContentBuilder();
            var content = builder.discussion().subject("A").body("a").place("/contents/123").build();

            content.should.have.property("visibility").and.equal("place");
            content.should.have.property("parent").and.contain("/contents/123");
        });
 it("should return the object being built", function () {
     var builder = new ContentBuilder();
     var content = builder.discussion().subject("YO").body("a").build();
     content.should.have.property("type");
     content.should.have.property("content");
     content.content.should.have.property("type");
 });
 it("should should set the content text field", function () {
     var builder = new ContentBuilder();
     var b = ["a","b"];
     builder.discussion().subject("YO");
     b.forEach(function (body) {
         var content = builder.body(body).build();
         content.content.text.should.equal(body);
     })
 });
示例#5
0
 helpers.getDiscussionForIssue(jiveApi, placeUrl, gitData.issue.id).then(function (discussion) {
     jiveApi.attachPropsToContent(discussion.contentID, createExtProps(gitData));
     var tags = editGitHubTags(discussion, gitData);
     var builder = new JiveContentBuilder(discussion);
     var content = builder.discussion()
         .tags(tags)
         .build();
     jiveApi.update(content).then(function (contentResponse) {
         jive.logger.debug(contentResponse);
     });
 });
示例#6
0
function createIssueDiscussion(placeID, gitData, jiveApi) {
    jive.logger.info("New Issue! Creating a discussion for it.");
    var builder = new JiveContentBuilder();
    var content = builder.discussion()
                        .parentPlace(placeID)
                        .subject(formatDiscussionSubject(gitData))
                        .body(gitData.issue.body)
                        .build();
    jiveApi.create(content).then(function (contentResponse) {
        var contentID = contentResponse.apiID;
        //attach ext props to query for discussion later
        return jiveApi.attachPropsToContent(contentID, createExtProps(gitData));
    });
}
 it("should create a subject member",function(){
     var builder = new ContentBuilder();
     builder.discussion().body("a").subject("YO").build()
         .should.have.property("subject").and.equal("YO");
 });
 it("should create an object with type discussion", function () {
     var builder = new ContentBuilder();
     builder.discussion().subject("YO").body("a").build().should.have.property("type").and.equal("discussion");
 });
 expect(function () {
     builder.discussion().subject("YO").body("a").reset().build();
 }).to.throw(builder.MISSING_TYPE);
 expect(function () {
     builder.discussion().body("a").build();
 }).to.throw(builder.MISSING_SUBJECT);
 expect(function () {
     builder.discussion().subject("YO").build();
 }).to.throw(builder.MISSING_BODY);
 it("should accept a valid Jive content object", function () {
     var builder = new ContentBuilder();
     var content = builder.discussion().subject("YO").body("a").build();
     builder = new ContentBuilder(content);
 });
 expect(function () {
     builder.discussion().subject("A").body("a").place();
 }).to.throw(builder.MISSING_PARENT);
 it("should change visibility", function () {
     var builder = new ContentBuilder();
     builder.discussion().subject("A").body("a").all().build()
         .should.have.property("visibility").and.equal("all");
 });
 it("should change the content type", function () {
     var builder = new ContentBuilder();
     builder.discussion().body("a").subject("YO").bodyType("text/plain").build()
         .content.type.should.equal("text/plain");
 });