From c3eb3e35bf15a551d059fcabdb36b100dd7f8d47 Mon Sep 17 00:00:00 2001 From: ChingRen Date: Thu, 28 Jul 2016 13:18:30 +0800 Subject: [PATCH 1/2] frist --- src/models/post.js | 5 +++-- test/unit/database/fb.test.js | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 test/unit/database/fb.test.js diff --git a/src/models/post.js b/src/models/post.js index 9f437cf..ffda450 100644 --- a/src/models/post.js +++ b/src/models/post.js @@ -2,8 +2,9 @@ module.exports = (sequelize, DataTypes) => { var Post = sequelize.define('Post', { - title: DataTypes.STRING, - desc: DataTypes.STRING, + name: DataTypes.STRING, + facebookId: DataTypes.STRING, + email: DataTypes.STRING }, { classMethods: { associate: (models) => { diff --git a/test/unit/database/fb.test.js b/test/unit/database/fb.test.js new file mode 100644 index 0000000..41e6681 --- /dev/null +++ b/test/unit/database/fb.test.js @@ -0,0 +1,32 @@ +import task1_initModel from '../../../src/database/task1'; +import FacebookHelper from '../../../src/facebook/helper.js' + +describe.only('hellojs-homework-week2', () => { + let models = null; + let facebookHelper = null; + let friends = null; + + beforeEach(async (done) => { + try { + models = await task1_initModel(); + let userId = "750208591709135"; + let token = "EAACEdEose0cBAK8FxixarsFZBjIpYmFWI92J1hytjVlz5DJuQTEzl3NhKfmcCFFHlqdnqnTlC7wA4p6T2ms0z3mv0sMMQq2ekjWm0fs4XxS6YdPMZAWR2QR7yaTO71NlkPVhSZANKS2QLX3wnoRsStk0QnAQMLubO7Yhp7e6wZDZD"; + facebookHelper = new FacebookHelper({userId, token}); + done(); + } catch (e) { + done(e); + } + }); + + it('將friendslist放入sequelize', async (done) => { + try { + friends = await FacebookHelper.getFriends(); + console.log(friends); + let result = await model.post.bulkCreate(friends); + result.length.should.be.eq(friends.length); + done(); + } catch (e) { + done(e); + } + }); +}); From 7fbedb7fdc415ef2ab8672a9c0b31e869e4f804b Mon Sep 17 00:00:00 2001 From: ChingRen Date: Thu, 28 Jul 2016 18:15:26 +0800 Subject: [PATCH 2/2] week2-homework --- database.db | Bin 4096 -> 5120 bytes src/models/friend.js | 16 ++++++++ test/unit/database/fb.test.js | 74 ++++++++++++++++++++++++++++------ 3 files changed, 77 insertions(+), 13 deletions(-) create mode 100644 src/models/friend.js diff --git a/database.db b/database.db index 3f8ea29c89b51cba05d8a6532ceaa61bd2b83607..2272fe0675dd64578f0f8ac5cd32c7d3b6ba8f82 100644 GIT binary patch literal 5120 zcmeHKO>fgM7`B^!AfXBg4mtENA6sRe^3{*@)G#6lv|Y(kM1=&&TDQyACR>sUiCeWh z7sPQ#PF(o|@L%}Ynd2@vSqDqkRzgTft70X7?f3Ef+RqbPa(16KEFYtR6^%ykW98Y#s+#OYuk@xEzg%q1p?r)X^pOVk4(>d?YJcQ+;DS9Qp_eK(LEQN zKJLrDfgX_M>1tC!tsNb;I*mp!>rsCxT$nyjUU0n=a&0@F?}b$|$~E-;4cCP{2WAiN zInJSaozr3o{)JjQk)|02c0*#`@rZ2aR~|l|V7rIsx>SVh9GDNNY?8>r#YVgpnCVL@ zL+5hv6q;{y%7z%mJyNfIM-D6^IpBV+HO)DwiI(w~2w5SD4`ZM{f0N%s-|UD-bIX XRp83`5B}{FQ8ezw3d9PmvjV>W^G!vB literal 4096 zcmeH}L2uJA6vyqPwB2DBG$}%e;bW_=B}rGd_0%vTh-kBtrAR$c;-zMb)Gl4)X+ns@ z;N$QaxF9|QXRiAKJ8;4=V@+B*3N2C(u_7n-i+?Zg|Kca_Kd*a~px6Gek0~mH6o3%a z5CTAu0AR!G2EW9|0A8D>J}^e{;$l@?10wtigwNswc1zlSSK!=BWh6<09~6oYdZZPQ zVZgi8uBB_Xj%@8wT}KX|b5PFlx(+f-TYsWksA(Au&1$1(dK+mid(SZ0qK0nT8^}3j zq+{GC4tk+kyH7PMr&cO?W*~j+^(JNqI0(-CA%l;-jt?2)${}0r4hg2Dt5F9%W}jyp z4IP<#HZoiFdgyh~oodcEg|t*Cz&4LGIO(z9`BgwpPRX%L#)e`n`Y~fJjBA6f%(L{| zji}f31DZ~ydD6~Jkqi6&Eq5210^SKRw8Q8AMp)|6-lVEs61WrE4The(F!fehSWx^3 z*p;+Ifkc7jRbU@xz@7WhFb1sZAk6!)Ky+1Ed03RUimHlarMkIYt;i)=l~F;Kt1^4I z$@+8uUjp%Rc>_xBg|k^8 zDH5xvlmv8>ceOY8$oEUG-!IWKJ|j((PgyB#ZSPDgt}$yT!(0@8xhRLga_ulYDTglj zaBVJrI?7i=pc?0^>vQpMMfpm|SK@r-_B?!?`sWnvRLVD`U}Wux(GX@&!HDp?07ur2 V5arLFf)U{ld>G}=o`PBVKLE?bgt-6! diff --git a/src/models/friend.js b/src/models/friend.js new file mode 100644 index 0000000..52742e2 --- /dev/null +++ b/src/models/friend.js @@ -0,0 +1,16 @@ +'use strict'; + +module.exports = (sequelize, DataTypes) => { + var friend = sequelize.define('friend', { + name: DataTypes.STRING, + facebookId: DataTypes.STRING, + email: DataTypes.STRING + }, { + classMethods: { + associate: (models) => { + } + } + }); + + return friend; +}; diff --git a/test/unit/database/fb.test.js b/test/unit/database/fb.test.js index 41e6681..ecd6107 100644 --- a/test/unit/database/fb.test.js +++ b/test/unit/database/fb.test.js @@ -4,26 +4,74 @@ import FacebookHelper from '../../../src/facebook/helper.js' describe.only('hellojs-homework-week2', () => { let models = null; let facebookHelper = null; - let friends = null; + let friendList = null; + let friend = null; + let create = null; - beforeEach(async (done) => { + before( async function(done){ + let userId = '750208591709135'; + let token = 'EAACEdEose0cBAFZBvh69O2GaP0xLiZAJNPgJ3Qkfadp7EwolpAKD4T1mbOtiTDsBY2A82SZBoB68Ddea1ZAcMNWkKfsDltq49aO3wo4jGCqFUSrh6JEZBQ77xT71ZAEA320Jq278ulLRpVEw9ml9xhDZB0IbRg7ZCanTlFD7w9yJ5gZDZD'; + models = await task1_initModel(); + facebookHelper = await new FacebookHelper({userId, token}); + done(); + }); + it('get friendList && 將friendList放入sequelize', async(done) => { + try{ + friendList = await facebookHelper.getFriends();//將api抓取內容存到friendList + console.log(friendList); + let count = 0; + for (count = 0; count { + try{ + let result = await models.friend.findAll(); + result.length.should.be.eq(friendList.length); + done(); + } catch(e) { + done(e); + } + }); + it('更新信箱為hellojs@trunk.studio', async (done) => { try { - models = await task1_initModel(); - let userId = "750208591709135"; - let token = "EAACEdEose0cBAK8FxixarsFZBjIpYmFWI92J1hytjVlz5DJuQTEzl3NhKfmcCFFHlqdnqnTlC7wA4p6T2ms0z3mv0sMMQq2ekjWm0fs4XxS6YdPMZAWR2QR7yaTO71NlkPVhSZANKS2QLX3wnoRsStk0QnAQMLubO7Yhp7e6wZDZD"; - facebookHelper = new FacebookHelper({userId, token}); + let email = 'hellojs@trunk.studio'; + let result = {}; + result = await models.friend.findOne({ + where: { + id:1, + }, + }); + result.email = email; + await result.save(); + result.email.should.be.eq(email); done(); } catch (e) { done(e); } }); - - it('將friendslist放入sequelize', async (done) => { - try { - friends = await FacebookHelper.getFriends(); - console.log(friends); - let result = await model.post.bulkCreate(friends); - result.length.should.be.eq(friends.length); + it('刪除信箱為hellojs@trunk.studio的使用者', async (done) => { + try {; + let result = {}; + result = await models.friend.findOne({ + where: { + email:'hellojs@trunk.studio', + }, + }); + await result.destroy(); + const check = await models.User.findOne({ + where: { + email: 'hellojs@trunk.studio', + }, + }); + (check === null).should.be.true; done(); } catch (e) { done(e);