Fixes #324 Use branch name from config when creating PR
This commit is contained in:
parent
8520e046cd
commit
bfe46a8e13
@ -68,7 +68,8 @@
|
|||||||
"file-loader": "^0.8.5",
|
"file-loader": "^0.8.5",
|
||||||
"identity-obj-proxy": "^3.0.0",
|
"identity-obj-proxy": "^3.0.0",
|
||||||
"imports-loader": "^0.6.5",
|
"imports-loader": "^0.6.5",
|
||||||
"jest-cli": "^16.0.1",
|
"jest": "19.1.0-alpha.eed82034",
|
||||||
|
"jest-cli": "19.1.0-alpha.eed82034",
|
||||||
"lint-staged": "^3.1.0",
|
"lint-staged": "^3.1.0",
|
||||||
"node-sass": "^3.10.0",
|
"node-sass": "^3.10.0",
|
||||||
"npm-check": "^5.2.3",
|
"npm-check": "^5.2.3",
|
||||||
@ -101,7 +102,6 @@
|
|||||||
"history": "^2.1.2",
|
"history": "^2.1.2",
|
||||||
"immutability-helper": "^2.0.0",
|
"immutability-helper": "^2.0.0",
|
||||||
"immutable": "^3.7.6",
|
"immutable": "^3.7.6",
|
||||||
"jest": "^17.0.0",
|
|
||||||
"js-base64": "^2.1.9",
|
"js-base64": "^2.1.9",
|
||||||
"js-yaml": "^3.7.0",
|
"js-yaml": "^3.7.0",
|
||||||
"json-loader": "^0.5.4",
|
"json-loader": "^0.5.4",
|
||||||
|
@ -393,7 +393,7 @@ export default class API {
|
|||||||
return this.deleteRef("heads", branchName);
|
return this.deleteRef("heads", branchName);
|
||||||
}
|
}
|
||||||
|
|
||||||
createPR(title, head, base = "master") {
|
createPR(title, head, base = this.branch) {
|
||||||
const body = "Automatically generated by Netlify CMS";
|
const body = "Automatically generated by Netlify CMS";
|
||||||
return this.request(`${ this.repoURL }/pulls`, {
|
return this.request(`${ this.repoURL }/pulls`, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@ -518,5 +518,4 @@ export default class API {
|
|||||||
body: JSON.stringify({ message, tree, parents }),
|
body: JSON.stringify({ message, tree, parents }),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
39
src/backends/github/__tests__/API.spec.js
Normal file
39
src/backends/github/__tests__/API.spec.js
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import AssetProxy from "../../../valueObjects/AssetProxy";
|
||||||
|
import API from "../API";
|
||||||
|
|
||||||
|
describe('github API', () => {
|
||||||
|
const mockAPI = (api, responses) => {
|
||||||
|
api.request = (path, options = {}) => {
|
||||||
|
const normalizedPath = path.indexOf('?') !== -1 ? path.substr(0, path.indexOf('?')) : path;
|
||||||
|
const response = responses[normalizedPath];
|
||||||
|
return typeof response === 'function'
|
||||||
|
? Promise.resolve(response(options))
|
||||||
|
: Promise.reject(new Error(`No response for path '${normalizedPath}'`))
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
it('should create PR with correct base branch name when publishing with editorial workflow', () => {
|
||||||
|
let prBaseBranch = null;
|
||||||
|
const api = new API({ branch: 'gh-pages', repo: 'my-repo' });
|
||||||
|
const responses = {
|
||||||
|
'/repos/my-repo/branches/gh-pages': () => ({ commit: { sha: 'def' } }),
|
||||||
|
'/repos/my-repo/git/trees/def': () => ({ tree: [] }),
|
||||||
|
'/repos/my-repo/git/trees': () => ({}),
|
||||||
|
'/repos/my-repo/git/commits': () => ({}),
|
||||||
|
'/repos/my-repo/git/refs': () => ({}),
|
||||||
|
'/repos/my-repo/pulls': (pullRequest) => {
|
||||||
|
prBaseBranch = JSON.parse(pullRequest.body).base;
|
||||||
|
return { head: { sha: 'cbd' } };
|
||||||
|
},
|
||||||
|
'/user': () => ({}),
|
||||||
|
'/repos/my-repo/git/blobs': () => ({}),
|
||||||
|
'/repos/my-repo/git/refs/meta/_netlify_cms': () => ({ 'object': {} })
|
||||||
|
};
|
||||||
|
mockAPI(api, responses);
|
||||||
|
|
||||||
|
return expect(
|
||||||
|
api.editorialWorkflowGit(null, { slug: 'entry', sha: 'abc' }, null, {})
|
||||||
|
.then(() => prBaseBranch)
|
||||||
|
).resolves.toEqual('gh-pages')
|
||||||
|
});
|
||||||
|
});
|
@ -1,3 +1,5 @@
|
|||||||
exports[`EntryEditorToolbar should disable and update label of Save button when persisting 1`] = `"<div><button disabled=\"\" class=\"\" type=\"button\" data-react-toolbox=\"button\">Saving...</button> <button class=\"\" type=\"button\" data-react-toolbox=\"button\">Cancel</button></div>"`;
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`EntryEditorToolbar should have both buttons enabled initially 1`] = `"<div><button class=\"\" type=\"button\" data-react-toolbox=\"button\">Save</button> <button class=\"\" type=\"button\" data-react-toolbox=\"button\">Cancel</button></div>"`;
|
exports[`EntryEditorToolbar should disable and update label of Save button when persisting 1`] = `"<div><button disabled=\\"\\" class=\\"\\" type=\\"button\\" data-react-toolbox=\\"button\\">Saving...</button> <button class=\\"\\" type=\\"button\\" data-react-toolbox=\\"button\\">Cancel</button></div>"`;
|
||||||
|
|
||||||
|
exports[`EntryEditorToolbar should have both buttons enabled initially 1`] = `"<div><button class=\\"\\" type=\\"button\\" data-react-toolbox=\\"button\\">Save</button> <button class=\\"\\" type=\\"button\\" data-react-toolbox=\\"button\\">Cancel</button></div>"`;
|
||||||
|
@ -1,23 +1,25 @@
|
|||||||
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||||
|
|
||||||
exports[`MarkitupReactRenderer HTML rendering should render HTML 1`] = `"<article><p>Paragraph with <em>inline</em> element</p></article>"`;
|
exports[`MarkitupReactRenderer HTML rendering should render HTML 1`] = `"<article><p>Paragraph with <em>inline</em> element</p></article>"`;
|
||||||
|
|
||||||
exports[`MarkitupReactRenderer Markdown rendering Code should render code 1`] = `"<article><p>Use the <code>printf()</code> function.</p></article>"`;
|
exports[`MarkitupReactRenderer Markdown rendering Code should render code 1`] = `"<article><p>Use the <code>printf()</code> function.</p></article>"`;
|
||||||
|
|
||||||
exports[`MarkitupReactRenderer Markdown rendering Code should render code 2 1`] = `"<article><p><code>There is a literal backtick (\`) here.</code></p></article>"`;
|
exports[`MarkitupReactRenderer Markdown rendering Code should render code 2 1`] = `"<article><p><code>There is a literal backtick (\`) here.</code></p></article>"`;
|
||||||
|
|
||||||
exports[`MarkitupReactRenderer Markdown rendering General should render markdown 1`] = `"<article><h1>H1</h1><p>Text with <strong>bold</strong> & <em>em</em> elements</p><h2>H2</h2><ul><li>ul item 1</li><li>ul item 2</li></ul><h3>H3</h3><ol><li>ol item 1</li><li>ol item 2</li><li>ol item 3</li></ol><h4>H4</h4><p><a href=\"http://google.com\">link title</a></p><h5>H5</h5><p><img alt=\"alt text\" src=\"https://pbs.twimg.com/profile_images/678903331176214528/TQTdqGwD.jpg\"/></p><h6>H6</h6></article>"`;
|
exports[`MarkitupReactRenderer Markdown rendering General should render markdown 1`] = `"<article><h1>H1</h1><p>Text with <strong>bold</strong> & <em>em</em> elements</p><h2>H2</h2><ul><li>ul item 1</li><li>ul item 2</li></ul><h3>H3</h3><ol><li>ol item 1</li><li>ol item 2</li><li>ol item 3</li></ol><h4>H4</h4><p><a href=\\"http://google.com\\">link title</a></p><h5>H5</h5><p><img alt=\\"alt text\\" src=\\"https://pbs.twimg.com/profile_images/678903331176214528/TQTdqGwD.jpg\\"/></p><h6>H6</h6></article>"`;
|
||||||
|
|
||||||
exports[`MarkitupReactRenderer Markdown rendering HTML should render HTML as is when using Markdown 1`] = `
|
exports[`MarkitupReactRenderer Markdown rendering HTML should render HTML as is when using Markdown 1`] = `
|
||||||
"<article><h1>Title</h1><div><form action=\"test\">
|
"<article><h1>Title</h1><div><form action=\\"test\\">
|
||||||
<label for=\"input\">
|
<label for=\\"input\\">
|
||||||
<input type=\"checkbox\" checked=\"checked\" id=\"input\"/> My label
|
<input type=\\"checkbox\\" checked=\\"checked\\" id=\\"input\\"/> My label
|
||||||
</label>
|
</label>
|
||||||
<dl class=\"test-class another-class\" style=\"width: 100%\">
|
<dl class=\\"test-class another-class\\" style=\\"width: 100%\\">
|
||||||
<dt data-attr=\"test\">Test HTML content</dt>
|
<dt data-attr=\\"test\\">Test HTML content</dt>
|
||||||
<dt>Testing HTML in Markdown</dt>
|
<dt>Testing HTML in Markdown</dt>
|
||||||
</dl>
|
</dl>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div><div><h1 style=\"display: block; border: 10px solid #f00; width: 100%\">Test</h1>
|
</div><div><h1 style=\\"display: block; border: 10px solid #f00; width: 100%\\">Test</h1>
|
||||||
</div></article>"
|
</div></article>"
|
||||||
`;
|
`;
|
||||||
|
|
||||||
@ -33,8 +35,8 @@ exports[`MarkitupReactRenderer Markdown rendering Headings should render Heading
|
|||||||
|
|
||||||
exports[`MarkitupReactRenderer Markdown rendering Headings should render Heading 6 1`] = `"<article><h6>Title</h6></article>"`;
|
exports[`MarkitupReactRenderer Markdown rendering Headings should render Heading 6 1`] = `"<article><h6>Title</h6></article>"`;
|
||||||
|
|
||||||
exports[`MarkitupReactRenderer Markdown rendering Links should render links 1`] = `"<article><p>I get 10 times more traffic from <a href=\"http://google.com/\" title=\"Google\">Google</a> than from <a href=\"http://search.yahoo.com/\" title=\"Yahoo Search\">Yahoo</a> or <a href=\"http://search.msn.com/\" title=\"MSN Search\">MSN</a>.</p></article>"`;
|
exports[`MarkitupReactRenderer Markdown rendering Links should render links 1`] = `"<article><p>I get 10 times more traffic from <a href=\\"http://google.com/\\" title=\\"Google\\">Google</a> than from <a href=\\"http://search.yahoo.com/\\" title=\\"Yahoo Search\\">Yahoo</a> or <a href=\\"http://search.msn.com/\\" title=\\"MSN Search\\">MSN</a>.</p></article>"`;
|
||||||
|
|
||||||
exports[`MarkitupReactRenderer Markdown rendering Lists should render lists 1`] = `"<article><ol><li>ol item 1</li><li>ol item 2<ul><li>Sublist 1</li><li>Sublist 2</li><li>Sublist 3<ol><li>Sub-Sublist 1</li><li>Sub-Sublist 2</li><li>Sub-Sublist 3</li></ol></li></ul></li><li>ol item 3</li></ol></article>"`;
|
exports[`MarkitupReactRenderer Markdown rendering Lists should render lists 1`] = `"<article><ol><li>ol item 1</li><li>ol item 2<ul><li>Sublist 1</li><li>Sublist 2</li><li>Sublist 3<ol><li>Sub-Sublist 1</li><li>Sub-Sublist 2</li><li>Sub-Sublist 3</li></ol></li></ul></li><li>ol item 3</li></ol></article>"`;
|
||||||
|
|
||||||
exports[`MarkitupReactRenderer custom elements should extend default renderers with custom ones 1`] = `"<article><h2>Title</h2><p><img src=\"http://url.to.image\" alt=\"mediaproxy test\"/></p></article>"`;
|
exports[`MarkitupReactRenderer custom elements should extend default renderers with custom ones 1`] = `"<article><h2>Title</h2><p><img src=\\"http://url.to.image\\" alt=\\"mediaproxy test\\"/></p></article>"`;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user