bottender-facebook
Version:
Facebook connector for Bottender.
920 lines (877 loc) • 37.4 kB
JavaScript
import FacebookEvent from '../FacebookEvent';
const statusAdd = {
field: 'feed',
value: {
from: {
id: '139560936744123',
name: 'user',
},
item: 'status',
post_id: '137542570280222_139610053406744',
verb: 'add',
published: 1,
created_time: 1511949030,
message: 'test',
},
};
const statusEdited = {
field: 'feed',
value: {
from: {
id: '139560936744123',
name: 'user',
},
item: 'status',
post_id: '137542570280222_139560936744456',
verb: 'edited',
published: 1,
created_time: 1511927135,
message: '1234',
},
};
const postRemove = {
field: 'feed',
value: {
recipient_id: '137542570280222',
from: {
id: '139560936744123',
},
item: 'post',
post_id: '137542570280222_139610053406744',
verb: 'remove',
created_time: 1511949068,
},
};
const commentAdd = {
field: 'feed',
value: {
from: {
id: '139560936744123',
name: 'user',
},
item: 'comment',
comment_id: '139560936744456_139620233405726',
post_id: '137542570280222_139560936744456',
verb: 'add',
parent_id: '139560936744456_139562213411528',
created_time: 1511951015,
message: 'Good',
},
};
const commentEdited = {
field: 'feed',
value: {
from: {
id: '139560936744123',
name: 'user',
},
item: 'comment',
comment_id: '139560936744456_139597043408045',
post_id: '137542570280222_139560936744456',
verb: 'edited',
parent_id: '137542570280222_139560936744456',
created_time: 1511948891,
message: 'Great',
},
};
const commentRemove = {
field: 'feed',
value: {
from: {
id: '139560936744123',
},
parent_id: '137542570280222_139560936744456',
comment_id: '139560936744456_139597043408045',
post_id: '137542570280222_139560936744456',
verb: 'remove',
item: 'comment',
created_time: 1511948944,
},
};
const likeAdd = {
field: 'feed',
value: {
from: {
id: '139560936744123',
name: 'user',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'add',
item: 'like',
created_time: 1511948636,
},
};
const pageLikeAdd = {
value: {
item: 'like',
verb: 'add',
},
field: 'feed',
};
const likeRemove = {
field: 'feed',
value: {
from: {
id: '139560936744123',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'remove',
item: 'like',
created_time: 1511948666,
},
};
const reactionAdd = {
field: 'feed',
value: {
reaction_type: 'like',
from: {
id: '139560936744123',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'add',
item: 'reaction',
created_time: 1511948636,
},
};
const reactionEdit = {
field: 'feed',
value: {
reaction_type: 'sad',
from: {
id: '139560936744123',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'edit',
item: 'reaction',
created_time: 1511948713,
},
};
const reactionRemove = {
field: 'feed',
value: {
reaction_type: 'like',
from: {
id: '139560936744123',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'remove',
item: 'reaction',
created_time: 1511948666,
},
};
const textMessage = {
sender: { id: '1423587017700273' },
recipient: { id: '404217156637689' },
timestamp: 1491796363181,
message: {
mid: 'mid.$cAAE1UUyiiwthh0NPrVbVf4HFNDGl',
seq: 348847,
text: 'Sharp tools make good work.',
},
};
const pageId = '137542570280111';
const sentByPage = {
field: 'feed',
value: {
from: {
id: '137542570280111',
name: 'Bottender',
},
item: 'comment',
comment_id: '139560936755999_140077616693321',
post_id: '137542570280111_139560936755999',
verb: 'add',
parent_id: '139560936755999_140077593359990',
created_time: 1512121727,
message: 'Public reply!',
},
};
const videoCommentAdd = {
field: 'feed',
value: {
from: {
id: '1440971912666228',
name: 'Hsuan-Yih Shawn Chu',
},
item: 'comment',
comment_id: '139560936755999_140077616693321',
post_id: '137542570280222_139560936744456',
verb: 'add',
parent_id: '137542570280222_139560936744456',
created_time: 1545829217,
post: {
type: 'video',
updated_time: '2018-12-26T13:00:17+0000',
promotion_status: 'inactive',
permalink_url: 'https://www.facebook.com/xxx/posts/1111',
id: '137542570280222_139560936744456',
status_type: 'added_video',
is_published: true,
},
message: '100',
},
};
it('#isFeed', () => {
expect(new FacebookEvent(textMessage).isFeed).toEqual(false);
expect(new FacebookEvent(statusAdd).isFeed).toEqual(true);
expect(new FacebookEvent(statusEdited).isFeed).toEqual(true);
expect(new FacebookEvent(postRemove).isFeed).toEqual(true);
expect(new FacebookEvent(commentAdd).isFeed).toEqual(true);
expect(new FacebookEvent(videoCommentAdd).isFeed).toEqual(true);
expect(new FacebookEvent(commentEdited).isFeed).toEqual(true);
expect(new FacebookEvent(commentRemove).isFeed).toEqual(true);
expect(new FacebookEvent(likeAdd).isFeed).toEqual(true);
expect(new FacebookEvent(pageLikeAdd).isFeed).toEqual(true);
expect(new FacebookEvent(likeRemove).isFeed).toEqual(true);
expect(new FacebookEvent(reactionAdd).isFeed).toEqual(true);
expect(new FacebookEvent(reactionEdit).isFeed).toEqual(true);
expect(new FacebookEvent(reactionRemove).isFeed).toEqual(true);
expect(new FacebookEvent(sentByPage).isFeed).toEqual(true);
});
it('#isStatus', () => {
expect(new FacebookEvent(textMessage).isStatus).toEqual(false);
expect(new FacebookEvent(statusAdd).isStatus).toEqual(true);
expect(new FacebookEvent(statusEdited).isStatus).toEqual(true);
expect(new FacebookEvent(postRemove).isStatus).toEqual(false);
expect(new FacebookEvent(commentAdd).isStatus).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isStatus).toEqual(false);
expect(new FacebookEvent(commentEdited).isStatus).toEqual(false);
expect(new FacebookEvent(commentRemove).isStatus).toEqual(false);
expect(new FacebookEvent(likeAdd).isStatus).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isStatus).toEqual(false);
expect(new FacebookEvent(likeRemove).isStatus).toEqual(false);
expect(new FacebookEvent(reactionAdd).isStatus).toEqual(false);
expect(new FacebookEvent(reactionEdit).isStatus).toEqual(false);
expect(new FacebookEvent(reactionRemove).isStatus).toEqual(false);
expect(new FacebookEvent(sentByPage).isStatus).toEqual(false);
});
it('#isStatusAdd', () => {
expect(new FacebookEvent(textMessage).isStatusAdd).toEqual(false);
expect(new FacebookEvent(statusAdd).isStatusAdd).toEqual(true);
expect(new FacebookEvent(statusEdited).isStatusAdd).toEqual(false);
expect(new FacebookEvent(postRemove).isStatusAdd).toEqual(false);
expect(new FacebookEvent(commentAdd).isStatusAdd).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isStatusAdd).toEqual(false);
expect(new FacebookEvent(commentEdited).isStatusAdd).toEqual(false);
expect(new FacebookEvent(commentRemove).isStatusAdd).toEqual(false);
expect(new FacebookEvent(likeAdd).isStatusAdd).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isStatusAdd).toEqual(false);
expect(new FacebookEvent(likeRemove).isStatusAdd).toEqual(false);
expect(new FacebookEvent(reactionAdd).isStatusAdd).toEqual(false);
expect(new FacebookEvent(reactionEdit).isStatusAdd).toEqual(false);
expect(new FacebookEvent(reactionRemove).isStatusAdd).toEqual(false);
expect(new FacebookEvent(sentByPage).isStatusAdd).toEqual(false);
});
it('#isStatusEdited', () => {
expect(new FacebookEvent(textMessage).isStatusEdited).toEqual(false);
expect(new FacebookEvent(statusAdd).isStatusEdited).toEqual(false);
expect(new FacebookEvent(statusEdited).isStatusEdited).toEqual(true);
expect(new FacebookEvent(postRemove).isStatusEdited).toEqual(false);
expect(new FacebookEvent(commentAdd).isStatusEdited).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isStatusEdited).toEqual(false);
expect(new FacebookEvent(commentEdited).isStatusEdited).toEqual(false);
expect(new FacebookEvent(commentRemove).isStatusEdited).toEqual(false);
expect(new FacebookEvent(likeAdd).isStatusEdited).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isStatusEdited).toEqual(false);
expect(new FacebookEvent(likeRemove).isStatusEdited).toEqual(false);
expect(new FacebookEvent(reactionAdd).isStatusEdited).toEqual(false);
expect(new FacebookEvent(reactionEdit).isStatusEdited).toEqual(false);
expect(new FacebookEvent(reactionRemove).isStatusEdited).toEqual(false);
expect(new FacebookEvent(sentByPage).isStatusEdited).toEqual(false);
});
it('#status', () => {
expect(new FacebookEvent(textMessage).status).toEqual(null);
expect(new FacebookEvent(statusAdd).status).toEqual({
from: {
id: '139560936744123',
name: 'user',
},
item: 'status',
post_id: '137542570280222_139610053406744',
verb: 'add',
published: 1,
created_time: 1511949030,
message: 'test',
});
expect(new FacebookEvent(statusEdited).status).toEqual({
from: {
id: '139560936744123',
name: 'user',
},
item: 'status',
post_id: '137542570280222_139560936744456',
verb: 'edited',
published: 1,
created_time: 1511927135,
message: '1234',
});
expect(new FacebookEvent(postRemove).status).toEqual(null);
expect(new FacebookEvent(commentAdd).status).toEqual(null);
expect(new FacebookEvent(commentAdd).status).toEqual(null);
expect(new FacebookEvent(videoCommentAdd).status).toEqual(null);
expect(new FacebookEvent(commentEdited).status).toEqual(null);
expect(new FacebookEvent(commentRemove).status).toEqual(null);
expect(new FacebookEvent(likeAdd).status).toEqual(null);
expect(new FacebookEvent(pageLikeAdd).status).toEqual(null);
expect(new FacebookEvent(likeRemove).status).toEqual(null);
expect(new FacebookEvent(reactionAdd).status).toEqual(null);
expect(new FacebookEvent(reactionEdit).status).toEqual(null);
expect(new FacebookEvent(reactionRemove).status).toEqual(null);
expect(new FacebookEvent(sentByPage).status).toEqual(null);
});
it('#isPost', () => {
expect(new FacebookEvent(textMessage).isPost).toEqual(false);
expect(new FacebookEvent(statusAdd).isPost).toEqual(false);
expect(new FacebookEvent(statusEdited).isPost).toEqual(false);
expect(new FacebookEvent(postRemove).isPost).toEqual(true);
expect(new FacebookEvent(commentAdd).isPost).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isPost).toEqual(false);
expect(new FacebookEvent(commentEdited).isPost).toEqual(false);
expect(new FacebookEvent(commentRemove).isPost).toEqual(false);
expect(new FacebookEvent(likeAdd).isPost).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isPost).toEqual(false);
expect(new FacebookEvent(likeRemove).isPost).toEqual(false);
expect(new FacebookEvent(reactionAdd).isPost).toEqual(false);
expect(new FacebookEvent(reactionEdit).isPost).toEqual(false);
expect(new FacebookEvent(reactionRemove).isPost).toEqual(false);
expect(new FacebookEvent(sentByPage).isPost).toEqual(false);
});
it('#isPostRemove', () => {
expect(new FacebookEvent(textMessage).isPostRemove).toEqual(false);
expect(new FacebookEvent(statusAdd).isPostRemove).toEqual(false);
expect(new FacebookEvent(statusEdited).isPostRemove).toEqual(false);
expect(new FacebookEvent(postRemove).isPostRemove).toEqual(true);
expect(new FacebookEvent(commentAdd).isPostRemove).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isPostRemove).toEqual(false);
expect(new FacebookEvent(commentEdited).isPostRemove).toEqual(false);
expect(new FacebookEvent(commentRemove).isPostRemove).toEqual(false);
expect(new FacebookEvent(likeAdd).isPostRemove).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isPostRemove).toEqual(false);
expect(new FacebookEvent(likeRemove).isPostRemove).toEqual(false);
expect(new FacebookEvent(reactionAdd).isPostRemove).toEqual(false);
expect(new FacebookEvent(reactionEdit).isPostRemove).toEqual(false);
expect(new FacebookEvent(reactionRemove).isPostRemove).toEqual(false);
expect(new FacebookEvent(sentByPage).isPostRemove).toEqual(false);
});
it('#post', () => {
expect(new FacebookEvent(textMessage).post).toEqual(null);
expect(new FacebookEvent(statusAdd).post).toEqual(null);
expect(new FacebookEvent(statusEdited).post).toEqual(null);
expect(new FacebookEvent(postRemove).post).toEqual({
recipient_id: '137542570280222',
from: {
id: '139560936744123',
},
item: 'post',
post_id: '137542570280222_139610053406744',
verb: 'remove',
created_time: 1511949068,
});
expect(new FacebookEvent(commentAdd).post).toEqual(null);
expect(new FacebookEvent(videoCommentAdd).post).toEqual(null);
expect(new FacebookEvent(commentEdited).post).toEqual(null);
expect(new FacebookEvent(commentRemove).post).toEqual(null);
expect(new FacebookEvent(likeAdd).post).toEqual(null);
expect(new FacebookEvent(pageLikeAdd).post).toEqual(null);
expect(new FacebookEvent(likeRemove).post).toEqual(null);
expect(new FacebookEvent(reactionAdd).post).toEqual(null);
expect(new FacebookEvent(reactionEdit).post).toEqual(null);
expect(new FacebookEvent(reactionRemove).post).toEqual(null);
expect(new FacebookEvent(sentByPage).post).toEqual(null);
});
it('#isComment', () => {
expect(new FacebookEvent(textMessage).isComment).toEqual(false);
expect(new FacebookEvent(statusAdd).isComment).toEqual(false);
expect(new FacebookEvent(statusEdited).isComment).toEqual(false);
expect(new FacebookEvent(postRemove).isComment).toEqual(false);
expect(new FacebookEvent(commentAdd).isComment).toEqual(true);
expect(new FacebookEvent(videoCommentAdd).isComment).toEqual(true);
expect(new FacebookEvent(commentEdited).isComment).toEqual(true);
expect(new FacebookEvent(commentRemove).isComment).toEqual(true);
expect(new FacebookEvent(likeAdd).isComment).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isComment).toEqual(false);
expect(new FacebookEvent(likeRemove).isComment).toEqual(false);
expect(new FacebookEvent(reactionAdd).isComment).toEqual(false);
expect(new FacebookEvent(reactionEdit).isComment).toEqual(false);
expect(new FacebookEvent(reactionRemove).isComment).toEqual(false);
expect(new FacebookEvent(sentByPage).isComment).toEqual(true);
});
it('#isCommentAdd', () => {
expect(new FacebookEvent(textMessage).isCommentAdd).toEqual(false);
expect(new FacebookEvent(statusAdd).isCommentAdd).toEqual(false);
expect(new FacebookEvent(statusEdited).isCommentAdd).toEqual(false);
expect(new FacebookEvent(postRemove).isCommentAdd).toEqual(false);
expect(new FacebookEvent(commentAdd).isCommentAdd).toEqual(true);
expect(new FacebookEvent(videoCommentAdd).isCommentAdd).toEqual(true);
expect(new FacebookEvent(commentEdited).isCommentAdd).toEqual(false);
expect(new FacebookEvent(commentRemove).isCommentAdd).toEqual(false);
expect(new FacebookEvent(likeAdd).isCommentAdd).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isCommentAdd).toEqual(false);
expect(new FacebookEvent(likeRemove).isCommentAdd).toEqual(false);
expect(new FacebookEvent(reactionAdd).isCommentAdd).toEqual(false);
expect(new FacebookEvent(reactionEdit).isCommentAdd).toEqual(false);
expect(new FacebookEvent(reactionRemove).isCommentAdd).toEqual(false);
expect(new FacebookEvent(sentByPage).isCommentAdd).toEqual(true);
});
it('#isCommentEdited', () => {
expect(new FacebookEvent(textMessage).isCommentEdited).toEqual(false);
expect(new FacebookEvent(statusAdd).isCommentEdited).toEqual(false);
expect(new FacebookEvent(statusEdited).isCommentEdited).toEqual(false);
expect(new FacebookEvent(postRemove).isCommentEdited).toEqual(false);
expect(new FacebookEvent(commentAdd).isCommentEdited).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isCommentEdited).toEqual(false);
expect(new FacebookEvent(commentEdited).isCommentEdited).toEqual(true);
expect(new FacebookEvent(commentRemove).isCommentEdited).toEqual(false);
expect(new FacebookEvent(likeAdd).isCommentEdited).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isCommentEdited).toEqual(false);
expect(new FacebookEvent(likeRemove).isCommentEdited).toEqual(false);
expect(new FacebookEvent(reactionAdd).isCommentEdited).toEqual(false);
expect(new FacebookEvent(reactionEdit).isCommentEdited).toEqual(false);
expect(new FacebookEvent(reactionRemove).isCommentEdited).toEqual(false);
expect(new FacebookEvent(sentByPage).isCommentEdited).toEqual(false);
});
it('#isCommentRemove', () => {
expect(new FacebookEvent(textMessage).isCommentRemove).toEqual(false);
expect(new FacebookEvent(statusAdd).isCommentRemove).toEqual(false);
expect(new FacebookEvent(statusEdited).isCommentRemove).toEqual(false);
expect(new FacebookEvent(postRemove).isCommentRemove).toEqual(false);
expect(new FacebookEvent(commentAdd).isCommentRemove).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isCommentRemove).toEqual(false);
expect(new FacebookEvent(commentEdited).isCommentRemove).toEqual(false);
expect(new FacebookEvent(commentRemove).isCommentRemove).toEqual(true);
expect(new FacebookEvent(likeAdd).isCommentRemove).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isCommentRemove).toEqual(false);
expect(new FacebookEvent(likeRemove).isCommentRemove).toEqual(false);
expect(new FacebookEvent(reactionAdd).isCommentRemove).toEqual(false);
expect(new FacebookEvent(reactionEdit).isCommentRemove).toEqual(false);
expect(new FacebookEvent(reactionRemove).isCommentRemove).toEqual(false);
expect(new FacebookEvent(sentByPage).isCommentRemove).toEqual(false);
});
it('#isFirstLayerComment', () => {
expect(new FacebookEvent(textMessage).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(statusAdd).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(statusEdited).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(postRemove).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(commentAdd).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isFirstLayerComment).toEqual(true);
expect(new FacebookEvent(commentEdited).isFirstLayerComment).toEqual(true);
expect(new FacebookEvent(commentRemove).isFirstLayerComment).toEqual(true);
expect(new FacebookEvent(likeAdd).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(likeRemove).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(reactionAdd).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(reactionEdit).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(reactionRemove).isFirstLayerComment).toEqual(false);
expect(new FacebookEvent(sentByPage).isFirstLayerComment).toEqual(false);
});
it('#comment', () => {
expect(new FacebookEvent(textMessage).comment).toEqual(null);
expect(new FacebookEvent(statusAdd).comment).toEqual(null);
expect(new FacebookEvent(statusEdited).comment).toEqual(null);
expect(new FacebookEvent(postRemove).comment).toEqual(null);
expect(new FacebookEvent(commentAdd).comment).toEqual({
from: {
id: '139560936744123',
name: 'user',
},
item: 'comment',
comment_id: '139560936744456_139620233405726',
post_id: '137542570280222_139560936744456',
verb: 'add',
parent_id: '139560936744456_139562213411528',
created_time: 1511951015,
message: 'Good',
});
expect(new FacebookEvent(videoCommentAdd).comment).toEqual({
comment_id: '139560936755999_140077616693321',
created_time: 1545829217,
from: {
id: '1440971912666228',
name: 'Hsuan-Yih Shawn Chu',
},
item: 'comment',
message: '100',
parent_id: '137542570280222_139560936744456',
post: {
id: '137542570280222_139560936744456',
is_published: true,
permalink_url: 'https://www.facebook.com/xxx/posts/1111',
promotion_status: 'inactive',
status_type: 'added_video',
type: 'video',
updated_time: '2018-12-26T13:00:17+0000',
},
post_id: '137542570280222_139560936744456',
verb: 'add',
});
expect(new FacebookEvent(commentEdited).comment).toEqual({
from: {
id: '139560936744123',
name: 'user',
},
item: 'comment',
comment_id: '139560936744456_139597043408045',
post_id: '137542570280222_139560936744456',
verb: 'edited',
parent_id: '137542570280222_139560936744456',
created_time: 1511948891,
message: 'Great',
});
expect(new FacebookEvent(commentRemove).comment).toEqual({
from: {
id: '139560936744123',
},
parent_id: '137542570280222_139560936744456',
comment_id: '139560936744456_139597043408045',
post_id: '137542570280222_139560936744456',
verb: 'remove',
item: 'comment',
created_time: 1511948944,
});
expect(new FacebookEvent(likeAdd).comment).toEqual(null);
expect(new FacebookEvent(pageLikeAdd).comment).toEqual(null);
expect(new FacebookEvent(likeRemove).comment).toEqual(null);
expect(new FacebookEvent(reactionAdd).comment).toEqual(null);
expect(new FacebookEvent(reactionEdit).comment).toEqual(null);
expect(new FacebookEvent(reactionRemove).comment).toEqual(null);
expect(new FacebookEvent(sentByPage).comment).toEqual({
from: {
id: '137542570280111',
name: 'Bottender',
},
item: 'comment',
comment_id: '139560936755999_140077616693321',
post_id: '137542570280111_139560936755999',
verb: 'add',
parent_id: '139560936755999_140077593359990',
created_time: 1512121727,
message: 'Public reply!',
});
});
it('#isLike', () => {
expect(new FacebookEvent(textMessage).isLike).toEqual(false);
expect(new FacebookEvent(statusAdd).isLike).toEqual(false);
expect(new FacebookEvent(statusEdited).isLike).toEqual(false);
expect(new FacebookEvent(postRemove).isLike).toEqual(false);
expect(new FacebookEvent(commentAdd).isLike).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isLike).toEqual(false);
expect(new FacebookEvent(commentEdited).isLike).toEqual(false);
expect(new FacebookEvent(commentRemove).isLike).toEqual(false);
expect(new FacebookEvent(likeAdd).isLike).toEqual(true);
expect(new FacebookEvent(pageLikeAdd).isLike).toEqual(true);
expect(new FacebookEvent(likeRemove).isLike).toEqual(true);
expect(new FacebookEvent(reactionAdd).isLike).toEqual(false);
expect(new FacebookEvent(reactionEdit).isLike).toEqual(false);
expect(new FacebookEvent(reactionRemove).isLike).toEqual(false);
expect(new FacebookEvent(sentByPage).isLike).toEqual(false);
});
it('#isLikeAdd', () => {
expect(new FacebookEvent(textMessage).isLikeAdd).toEqual(false);
expect(new FacebookEvent(statusAdd).isLikeAdd).toEqual(false);
expect(new FacebookEvent(statusEdited).isLikeAdd).toEqual(false);
expect(new FacebookEvent(postRemove).isLikeAdd).toEqual(false);
expect(new FacebookEvent(commentAdd).isLikeAdd).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isLikeAdd).toEqual(false);
expect(new FacebookEvent(commentEdited).isLikeAdd).toEqual(false);
expect(new FacebookEvent(commentRemove).isLikeAdd).toEqual(false);
expect(new FacebookEvent(likeAdd).isLikeAdd).toEqual(true);
expect(new FacebookEvent(pageLikeAdd).isLikeAdd).toEqual(true);
expect(new FacebookEvent(likeRemove).isLikeAdd).toEqual(false);
expect(new FacebookEvent(reactionAdd).isLikeAdd).toEqual(false);
expect(new FacebookEvent(reactionEdit).isLikeAdd).toEqual(false);
expect(new FacebookEvent(reactionRemove).isLikeAdd).toEqual(false);
expect(new FacebookEvent(sentByPage).isLikeAdd).toEqual(false);
});
it('#isLikeRemove', () => {
expect(new FacebookEvent(textMessage).isLikeRemove).toEqual(false);
expect(new FacebookEvent(statusAdd).isLikeRemove).toEqual(false);
expect(new FacebookEvent(statusEdited).isLikeRemove).toEqual(false);
expect(new FacebookEvent(postRemove).isLikeRemove).toEqual(false);
expect(new FacebookEvent(commentAdd).isLikeRemove).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isLikeRemove).toEqual(false);
expect(new FacebookEvent(commentEdited).isLikeRemove).toEqual(false);
expect(new FacebookEvent(commentRemove).isLikeRemove).toEqual(false);
expect(new FacebookEvent(likeAdd).isLikeRemove).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isLikeRemove).toEqual(false);
expect(new FacebookEvent(likeRemove).isLikeRemove).toEqual(true);
expect(new FacebookEvent(reactionAdd).isLikeRemove).toEqual(false);
expect(new FacebookEvent(reactionEdit).isLikeRemove).toEqual(false);
expect(new FacebookEvent(reactionRemove).isLikeRemove).toEqual(false);
expect(new FacebookEvent(sentByPage).isLikeRemove).toEqual(false);
});
it('#like', () => {
expect(new FacebookEvent(textMessage).like).toEqual(null);
expect(new FacebookEvent(statusAdd).like).toEqual(null);
expect(new FacebookEvent(statusEdited).like).toEqual(null);
expect(new FacebookEvent(postRemove).like).toEqual(null);
expect(new FacebookEvent(commentAdd).like).toEqual(null);
expect(new FacebookEvent(videoCommentAdd).like).toEqual(null);
expect(new FacebookEvent(commentEdited).like).toEqual(null);
expect(new FacebookEvent(commentRemove).like).toEqual(null);
expect(new FacebookEvent(likeAdd).like).toEqual({
from: {
id: '139560936744123',
name: 'user',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'add',
item: 'like',
created_time: 1511948636,
});
expect(new FacebookEvent(pageLikeAdd).like).toEqual({
item: 'like',
verb: 'add',
});
expect(new FacebookEvent(likeRemove).like).toEqual({
from: {
id: '139560936744123',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'remove',
item: 'like',
created_time: 1511948666,
});
expect(new FacebookEvent(reactionAdd).like).toEqual(null);
expect(new FacebookEvent(reactionEdit).like).toEqual(null);
expect(new FacebookEvent(reactionRemove).like).toEqual(null);
expect(new FacebookEvent(sentByPage).like).toEqual(null);
});
it('#isReaction', () => {
expect(new FacebookEvent(textMessage).isReaction).toEqual(false);
expect(new FacebookEvent(statusAdd).isReaction).toEqual(false);
expect(new FacebookEvent(statusEdited).isReaction).toEqual(false);
expect(new FacebookEvent(postRemove).isReaction).toEqual(false);
expect(new FacebookEvent(commentAdd).isReaction).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isReaction).toEqual(false);
expect(new FacebookEvent(commentEdited).isReaction).toEqual(false);
expect(new FacebookEvent(commentRemove).isReaction).toEqual(false);
expect(new FacebookEvent(likeAdd).isReaction).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isReaction).toEqual(false);
expect(new FacebookEvent(likeRemove).isReaction).toEqual(false);
expect(new FacebookEvent(reactionAdd).isReaction).toEqual(true);
expect(new FacebookEvent(reactionEdit).isReaction).toEqual(true);
expect(new FacebookEvent(reactionRemove).isReaction).toEqual(true);
expect(new FacebookEvent(sentByPage).isReaction).toEqual(false);
});
it('#isReactionAdd', () => {
expect(new FacebookEvent(textMessage).isReactionAdd).toEqual(false);
expect(new FacebookEvent(statusAdd).isReactionAdd).toEqual(false);
expect(new FacebookEvent(statusEdited).isReactionAdd).toEqual(false);
expect(new FacebookEvent(postRemove).isReactionAdd).toEqual(false);
expect(new FacebookEvent(commentAdd).isReactionAdd).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isReactionAdd).toEqual(false);
expect(new FacebookEvent(commentEdited).isReactionAdd).toEqual(false);
expect(new FacebookEvent(commentRemove).isReactionAdd).toEqual(false);
expect(new FacebookEvent(likeAdd).isReactionAdd).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isReactionAdd).toEqual(false);
expect(new FacebookEvent(likeRemove).isReactionAdd).toEqual(false);
expect(new FacebookEvent(reactionAdd).isReactionAdd).toEqual(true);
expect(new FacebookEvent(reactionEdit).isReactionAdd).toEqual(false);
expect(new FacebookEvent(reactionRemove).isReactionAdd).toEqual(false);
expect(new FacebookEvent(sentByPage).isReactionAdd).toEqual(false);
});
it('#isReactionEdit', () => {
expect(new FacebookEvent(textMessage).isReactionEdit).toEqual(false);
expect(new FacebookEvent(statusAdd).isReactionEdit).toEqual(false);
expect(new FacebookEvent(statusEdited).isReactionEdit).toEqual(false);
expect(new FacebookEvent(postRemove).isReactionEdit).toEqual(false);
expect(new FacebookEvent(commentAdd).isReactionEdit).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isReactionEdit).toEqual(false);
expect(new FacebookEvent(commentEdited).isReactionEdit).toEqual(false);
expect(new FacebookEvent(commentRemove).isReactionEdit).toEqual(false);
expect(new FacebookEvent(likeAdd).isReactionEdit).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isReactionEdit).toEqual(false);
expect(new FacebookEvent(likeRemove).isReactionEdit).toEqual(false);
expect(new FacebookEvent(reactionAdd).isReactionEdit).toEqual(false);
expect(new FacebookEvent(reactionEdit).isReactionEdit).toEqual(true);
expect(new FacebookEvent(reactionRemove).isReactionEdit).toEqual(false);
expect(new FacebookEvent(sentByPage).isReactionEdit).toEqual(false);
});
it('#isReactionRemove', () => {
expect(new FacebookEvent(textMessage).isReactionRemove).toEqual(false);
expect(new FacebookEvent(statusAdd).isReactionRemove).toEqual(false);
expect(new FacebookEvent(statusEdited).isReactionRemove).toEqual(false);
expect(new FacebookEvent(postRemove).isReactionRemove).toEqual(false);
expect(new FacebookEvent(commentAdd).isReactionRemove).toEqual(false);
expect(new FacebookEvent(videoCommentAdd).isReactionRemove).toEqual(false);
expect(new FacebookEvent(commentEdited).isReactionRemove).toEqual(false);
expect(new FacebookEvent(commentRemove).isReactionRemove).toEqual(false);
expect(new FacebookEvent(likeAdd).isReactionRemove).toEqual(false);
expect(new FacebookEvent(pageLikeAdd).isReactionRemove).toEqual(false);
expect(new FacebookEvent(likeRemove).isReactionRemove).toEqual(false);
expect(new FacebookEvent(reactionAdd).isReactionRemove).toEqual(false);
expect(new FacebookEvent(reactionEdit).isReactionRemove).toEqual(false);
expect(new FacebookEvent(reactionRemove).isReactionRemove).toEqual(true);
expect(new FacebookEvent(sentByPage).isReactionRemove).toEqual(false);
});
it('#reaction', () => {
expect(new FacebookEvent(textMessage).reaction).toEqual(null);
expect(new FacebookEvent(statusAdd).reaction).toEqual(null);
expect(new FacebookEvent(statusEdited).reaction).toEqual(null);
expect(new FacebookEvent(postRemove).reaction).toEqual(null);
expect(new FacebookEvent(commentAdd).reaction).toEqual(null);
expect(new FacebookEvent(videoCommentAdd).reaction).toEqual(null);
expect(new FacebookEvent(commentEdited).reaction).toEqual(null);
expect(new FacebookEvent(commentRemove).reaction).toEqual(null);
expect(new FacebookEvent(likeAdd).reaction).toEqual(null);
expect(new FacebookEvent(pageLikeAdd).reaction).toEqual(null);
expect(new FacebookEvent(likeRemove).reaction).toEqual(null);
expect(new FacebookEvent(reactionAdd).reaction).toEqual({
reaction_type: 'like',
from: {
id: '139560936744123',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'add',
item: 'reaction',
created_time: 1511948636,
});
expect(new FacebookEvent(reactionEdit).reaction).toEqual({
reaction_type: 'sad',
from: {
id: '139560936744123',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'edit',
item: 'reaction',
created_time: 1511948713,
});
expect(new FacebookEvent(reactionRemove).reaction).toEqual({
reaction_type: 'like',
from: {
id: '139560936744123',
},
parent_id: '139560936744456_139597043408045',
comment_id: '139560936744456_139597090074707',
post_id: '137542570280222_139560936744456',
verb: 'remove',
item: 'reaction',
created_time: 1511948666,
});
expect(new FacebookEvent(sentByPage).reaction).toEqual(null);
});
it('#pageId', () => {
expect(new FacebookEvent(textMessage, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(statusAdd, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(statusEdited, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(postRemove, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(commentAdd, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(videoCommentAdd, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(commentEdited, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(commentRemove, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(likeAdd, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(pageLikeAdd, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(likeRemove, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(reactionAdd, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(reactionEdit, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(reactionRemove, { pageId }).pageId).toEqual(
'137542570280111'
);
expect(new FacebookEvent(sentByPage, { pageId }).pageId).toEqual(
'137542570280111'
);
});
it('#isSentByPage', () => {
expect(new FacebookEvent(textMessage, { pageId }).isSentByPage).toEqual(
false
);
expect(new FacebookEvent(statusAdd, { pageId }).isSentByPage).toEqual(false);
expect(new FacebookEvent(statusEdited, { pageId }).isSentByPage).toEqual(
false
);
expect(new FacebookEvent(postRemove, { pageId }).isSentByPage).toEqual(false);
expect(new FacebookEvent(commentAdd, { pageId }).isSentByPage).toEqual(false);
expect(new FacebookEvent(videoCommentAdd, { pageId }).isSentByPage).toEqual(
false
);
expect(new FacebookEvent(commentEdited, { pageId }).isSentByPage).toEqual(
false
);
expect(new FacebookEvent(commentRemove, { pageId }).isSentByPage).toEqual(
false
);
expect(new FacebookEvent(likeAdd, { pageId }).isSentByPage).toEqual(false);
expect(new FacebookEvent(pageLikeAdd, { pageId }).isSentByPage).toEqual(
false
);
expect(new FacebookEvent(likeRemove, { pageId }).isSentByPage).toEqual(false);
expect(new FacebookEvent(reactionAdd, { pageId }).isSentByPage).toEqual(
false
);
expect(new FacebookEvent(reactionEdit, { pageId }).isSentByPage).toEqual(
false
);
expect(new FacebookEvent(reactionRemove, { pageId }).isSentByPage).toEqual(
false
);
expect(new FacebookEvent(sentByPage, { pageId }).isSentByPage).toEqual(true);
});
it('#isPageLike', () => {
expect(new FacebookEvent(textMessage, { pageId }).isPageLike).toEqual(false);
expect(new FacebookEvent(statusAdd, { pageId }).isPageLike).toEqual(false);
expect(new FacebookEvent(statusEdited, { pageId }).isPageLike).toEqual(false);
expect(new FacebookEvent(postRemove, { pageId }).isPageLike).toEqual(false);
expect(new FacebookEvent(commentAdd, { pageId }).isPageLike).toEqual(false);
expect(new FacebookEvent(videoCommentAdd, { pageId }).isPageLike).toEqual(
false
);
expect(new FacebookEvent(commentEdited, { pageId }).isPageLike).toEqual(
false
);
expect(new FacebookEvent(commentRemove, { pageId }).isPageLike).toEqual(
false
);
expect(new FacebookEvent(likeAdd, { pageId }).isPageLike).toEqual(false);
expect(new FacebookEvent(pageLikeAdd, { pageId }).isPageLike).toEqual(true);
expect(new FacebookEvent(likeRemove, { pageId }).isPageLike).toEqual(false);
expect(new FacebookEvent(reactionAdd, { pageId }).isPageLike).toEqual(false);
expect(new FacebookEvent(reactionEdit, { pageId }).isPageLike).toEqual(false);
expect(new FacebookEvent(reactionRemove, { pageId }).isPageLike).toEqual(
false
);
expect(new FacebookEvent(sentByPage, { pageId }).isPageLike).toEqual(false);
});