diff --git a/database.db b/database.db index 3f8ea29..a03ec12 100644 Binary files a/database.db and b/database.db differ 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