Skip to content

Commit

Permalink
feat(push-to-space): Add support for importing webhooks (#75)
Browse files Browse the repository at this point in the history
  • Loading branch information
Khaledgarbaya committed Nov 11, 2016
1 parent 64c2894 commit de6d8ac
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 6 deletions.
5 changes: 5 additions & 0 deletions lib/push/push-to-space.js
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,11 @@ export default function ({sourceContent, destinationContent = {}, managementClie

// Create and publish Assets and Entries
if (!contentModelOnly) {
result = result
.then(partial(creation.createEntities,
{space: space, type: 'Webhook'}, sourceContent.webhooks, destinationContent.webhooks))
.delay(prePublishDelay)

result = result
.then(partial(creation.createEntities,
{space: space, type: 'Asset'}, sourceContent.assets, destinationContent.assets))
Expand Down
4 changes: 2 additions & 2 deletions lib/transform/transform-space.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import * as transformers from './transformers'
*/
export default function (space, destinationSpace) {
// TODO maybe we don't need promises here at all
const newSpace = omit(space, 'contentTypes', 'entries', 'assets', 'locales')
return Promise.reduce(['contentTypes', 'entries', 'assets', 'locales'], (newSpace, type) => {
const newSpace = omit(space, 'contentTypes', 'entries', 'assets', 'locales', 'webhooks')
return Promise.reduce(['contentTypes', 'entries', 'assets', 'locales', 'webhooks'], (newSpace, type) => {
return Promise.map(
space[type],
(entity) => Promise.resolve({
Expand Down
4 changes: 4 additions & 0 deletions lib/transform/transformers.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ export function entries (entry) {
return entry
}

export function webhooks (webhook) {
return webhook
}

export function assets (asset) {
const transformedAsset = omit(asset, 'sys')
transformedAsset.sys = pick(asset.sys, 'id')
Expand Down
6 changes: 3 additions & 3 deletions test/push/push-to-space-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ test('Push content to destination space', (t) => {
.then(() => {
t.equals(deletionMock.deleteEntities.callCount, 4, 'delete entities')
t.equals(publishingMock.unpublishEntities.callCount, 3, 'unpublish entities')
t.equals(creationMock.createEntities.callCount, 3, 'create entities')
t.equals(creationMock.createEntities.callCount, 4, 'create entities')
t.equals(creationMock.createEntries.callCount, 1, 'create entries')
t.equals(publishingMock.publishEntities.callCount, 3, 'publish entities')
t.equals(assetsMock.processAssets.callCount, 1, 'process assets')
Expand Down Expand Up @@ -146,7 +146,7 @@ test('Push only entries and assets to destination space', (t) => {
.then(() => {
t.equals(deletionMock.deleteEntities.callCount, 2, 'delete entities')
t.equals(publishingMock.unpublishEntities.callCount, 2, 'unpublish entities')
t.equals(creationMock.createEntities.callCount, 1, 'create entities')
t.equals(creationMock.createEntities.callCount, 2, 'create entities')
t.equals(creationMock.createEntries.callCount, 1, 'create entries')
t.equals(publishingMock.publishEntities.callCount, 2, 'publish entities')
t.equals(assetsMock.processAssets.callCount, 1, 'process assets')
Expand All @@ -169,7 +169,7 @@ test('Push only entries and assets to destination space and skip publishing', (t
.then(() => {
t.equals(deletionMock.deleteEntities.callCount, 2, 'delete entities')
t.equals(publishingMock.unpublishEntities.callCount, 2, 'unpublish entities')
t.equals(creationMock.createEntities.callCount, 1, 'create entities')
t.equals(creationMock.createEntities.callCount, 2, 'create entities')
t.equals(creationMock.createEntries.callCount, 1, 'create entries')
t.equals(publishingMock.publishEntities.callCount, 0, 'publish entities')
t.equals(assetsMock.processAssets.callCount, 1, 'process assets')
Expand Down
2 changes: 1 addition & 1 deletion test/runner
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ log.level = 'silent'

require('require-all')({
dirname: process.cwd() + '/test',
filter: process.argv[2] || /\-test\.js/,
filter: process.argv[2] || /\-test\.js$/,
recursive: true
})

0 comments on commit de6d8ac

Please sign in to comment.