From b367f75f5f38a13408b39a5011ac5ab4982143eb Mon Sep 17 00:00:00 2001 From: benesse1899 Date: Thu, 28 Jul 2016 14:03:32 +0000 Subject: [PATCH] 1234 --- database.db | Bin 4096 -> 5120 bytes src/models/friend.js | 23 ++++++ src/models/post.js | 1 + test/unit/facebook/helper.test.js | 117 +++++++++++++++++++++++------- 4 files changed, 115 insertions(+), 26 deletions(-) create mode 100644 src/models/friend.js diff --git a/database.db b/database.db index 3f8ea29c89b51cba05d8a6532ceaa61bd2b83607..a03ec1296d3a2f8ce77532306d6fa042cf84d1f0 100644 GIT binary patch literal 5120 zcmeHK&u<$=6y6_RCvBAjsFEcj+Udy&TU#?bJG--yD#Zy~YMMB~bwEB~ytTKz9M5yp0C1f68^>`Hdv}KT5}U-H-LX%;XTHyrVWf6; z#>C@XjF&j!XR*Tn!6q--*l?tgL?Xd|fPCv>&0g~Ch8JF>*}R!4n4plEnKMB-w3Wd` z*{PO6Hdip;F!NwBpPkR-i{QLj1evA6LN>=1&6~NxX;5x5q`I|gm%-ba{Oq|*enKH+ zk~!>E%cA`F1tqm%-~Sy+U^01i6I*$Suvy1-q_Q z_jONh+gqL7hTWy!b>d5HMBhsSKsk#yNOn9ud<8ITEnUQXM`4octV!>Vo1lk zT4U|}o@ZZe+VzUvcPmCH_BkhlLY-zSCs}(g^t3~uL_8J`n|327w$=OFaHeBu@86YE zn2k%FHLtLc@p1n8u`tE64acrmz0QXaNvYhiK9BBu_SdD0L5ucv(H>1VIVOI=9T8?Y z@mFzOJTIOUo(jJRcLi6NVaDP3pDCaS5_d`_#U)U*>foH$q#8m7)iER*R-w9L*J|!% zZ`yA(>sQjA->f>Wd{p92rjo5kcUqs{di>KCQVq6hyB(b(gNVtFIkl z!E*9Vt8(QU0Pi%3uBsZ=uz@v#G#HH?4P&>rzTMvXxb^8x4N+BP;8f9cOqFQtNEqAt z>~`zU_uJoXYDm)|A%v=!VnvI_#@o2JzI=T5!`~ll5tb=IhJkd5q1KnL6vpm+@WCVO4v|U;1JWzQzD0=ur`gYIQcljU*!AU^O>;TS3~RN(L{aEuqn`OZP(Xz=_;PW6YM|B&HOfuRB&1$v(U;J>{fyvje~-{t;1 z`~q2{qg(03Sv1(aVDo279g8 szb=7F2bG}fEs4Dp4qk#T!d?`*-jdLZfAA7?5&i+6@5MiO2@ZJ}^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..eec5dfe --- /dev/null +++ b/src/models/friend.js @@ -0,0 +1,23 @@ +'use strict'; + +module.exports = function(sequelize, DataTypes){ + var Friend = sequelize.define('Friend', { + name: + { + type: DataTypes.STRING + }, + fbid: + { + type: DataTypes.STRING + }, + email: + { + type: DataTypes.STRING, + allowNull: true + }, + }, { + timestamps: false + }); + + return Friend; +}; \ No newline at end of file diff --git a/src/models/post.js b/src/models/post.js index 9f437cf..2db7c7f 100644 --- a/src/models/post.js +++ b/src/models/post.js @@ -4,6 +4,7 @@ module.exports = (sequelize, DataTypes) => { var Post = sequelize.define('Post', { title: DataTypes.STRING, desc: DataTypes.STRING, + price: DataTypes.INTEGER, }, { classMethods: { associate: (models) => { diff --git a/test/unit/facebook/helper.test.js b/test/unit/facebook/helper.test.js index 6856c56..5149180 100644 --- a/test/unit/facebook/helper.test.js +++ b/test/unit/facebook/helper.test.js @@ -1,39 +1,104 @@ import FacebookHelper from '../../../src/facebook/helper.js' +import task1_initModel from '../../../src/database/task1'; -describe('facebook-helper', () => { +describe.only('facebook-helper', () => { let facebookHelper = null; + let models = null; + let friends = null; + let t = null; + - before((done) => { - let userId = ""; - let token = ""; - facebookHelper = new FacebookHelper({userId, token}); - console.log(facebookHelper); + before(async (done) => { + let userId = "556732901096680"; + let token = "EAACEdEose0cBAD2CRsMLVQNFUN0mCbOkrwJDC25F9ylBEZCPKZBj0NuuLRpF82MI03AjQg4cPdBC3l3ZBkBmMvdPz2Pv4MZAksghZAtv5p2NDfgloUX3L7dt7OjDuthG9vzG7yRZA9i8fxxXfoC5MT4W7WlAxoz7amLV0imIxRFoHFy2WVGukq7wt1KZAbQgFSCDiji6k56SgZDZD"; + models = await task1_initModel(); + facebookHelper = await new FacebookHelper({userId, token}); done(); }); - it("get friends list", async (done) => { - try { - let friends = await facebookHelper.getFriends(); - console.log("friends", friends); - (friends != null).should.be.true; - friends.should.be.Array; - friends[0].should.have.keys("name", "id"); + it("get friends list", async (done) => + { + try + { + friends = await facebookHelper.getFriends(); + let l = friends.length; + var i; + for (i = 0; i < l; i++) + { + await models.Friend.create + ( + { + name: friends[i].name, + fbid: friends[i].id, + email: 'asd@gmail.com' + } + ); + } + t = await models.Friend.findAll(); + console.log(t[0].name , t[0].fbid , t[0].email); done(); - } catch (e) { + } + catch (e) + { done(e); } }); + it("get all friends", async (done) => + { + try + { + t = await models.Friend.findAll(); + t.length.should.be.equal(friends.length); + done(); + } + catch(e) + { + done(e); + } + }); + it("update email", async (done) => + { + try + { + let t2 = friends[1].id; + let data = await models.Friend.findOne( {where: { fbid: t2 } } ); + data.email = 'hellojs@trunk.studio'; + let result = await data.save(); + console.log(result.name , result.id , result.email); + result.email.should.equal('hellojs@trunk.studio'); + done(); + } + catch(e) + { + done(e); + } + }); + + it("delete friend", async (done) => + { + try{ + let del = await models.Friend.findOne + ( + { + where:{email:'hellojs@trunk.studio'} + } + ); + await del.destroy(); + + let result = await models.Friend.findOne + ( + { + where:{email:'hellojs@turnk.studio'} + } + ); - it.skip("publish post", async (done) => { - try { - let post = { - message: 'test facebook post api' + (result === null ).should.be.true; + + done(); } - let result = await facebookHelper.publishPost(post); - console.log("result", result); - done(); - } catch (e) { - done(e); - } - }); -}); + catch(e) + { + done(e); + } + }); +}); \ No newline at end of file