Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified database.db
Binary file not shown.
5 changes: 2 additions & 3 deletions src/models/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@

module.exports = (sequelize, DataTypes) => {
var User = sequelize.define('User', {
username: DataTypes.STRING,
name: DataTypes.STRING,
facebookId: DataTypes.STRING,
email: DataTypes.STRING,
password: DataTypes.STRING,
age: DataTypes.INTEGER,
}, {
classMethods: {
associate: (models) => {
Expand Down
4 changes: 2 additions & 2 deletions test/unit/facebook/helper.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ describe('facebook-helper', () => {
let facebookHelper = null;

before((done) => {
let userId = "";
let token = "";
let userId = "616705558438326";
let token = "EAACEdEose0cBAARvaZAoWcNHD8WeTgxgohMI0enyVAAQjaVmH2snfS6Hd9u3hrkrldoi6wZAtLKuPc56ZA3JZBSmYwD3QiP29Ge7zgtliO9CiISS2zm6mJoWqB7l3hUFvjcr49oXzLAmG8lLIpmrhWVkWXZApV5cfPCfIARlpEUqIgx6CKEcTZA9ElznyfGLwZD";
facebookHelper = new FacebookHelper({userId, token});
console.log(facebookHelper);
done();
Expand Down
104 changes: 104 additions & 0 deletions test/unit/facebook/hw2_fb.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
import FacebookHelper from '../../../src/facebook/helper.js'
import task1_initModel from '../../../src/database/task1';
describe.only('hw2', () => {
let facebookHelper = null;
let friends = [];
let model = null;

before(async (done) => {
let userId = "618444968267382";
let token = "EAACEdEose0cBAJlP7o2lFIHXwunjWMYVAvuvCGLkd8GkBIHqoRowECrZByeYxIz4dheceT7bZBxZBlvMukZAtjtGbJXUfCj1YZCTgU77LwMy4gmz8dusod6AK2BhUZBe0XjqV2kKYXcNUBhnkkjDupAD8YAETPZB3LTpj9lWiQruLVzOmDhAypuSVlq4aVozQMZD";
facebookHelper = new FacebookHelper({userId, token});
console.log(facebookHelper);
try{
model = await task1_initModel()
}catch(e){done(e)}

done();
});


it("get friends list and save", async (done) => {
try {
friends = await facebookHelper.getFriends();
console.log("friends", friends);

friends.should.be.Array;
let result = await model.User.bulkCreate(friends);

console.log("已新增至資料庫");

for(var i=0;i<friends.length;i++){
result[i].name.should.be.eq(friends[i].name);
}

done();
} catch (e) {
done(e);
}
});

it("原本用 api 取得 friends list 改為透過查詢資料庫的方式", async (done) => {
try {
let fb_friends = await model.User.findAll();
console.log("取得資料庫內的朋友清單");

//檢查是否一樣

fb_friends.length.should.be.eq(friends.length);


done();
} catch (e) {
done(e);
}
});

it("將其中一個 friend 更新其 email 欄位為 hellojs@trunk.studio", async (done) => {
try {
let f = await model.User.findOne({
where:{
name:friends[1].name
}
});
console.log("要更改的人的資料",f.name,f.email,f.id);
f.email = 'hellojs@trunk.studio';
await f.save();

f.email.should.be.eq('hellojs@trunk.studio');



done();
} catch (e) {
done(e);
}
});

it("刪除一位 friend", async (done) => {
try {
let f = await model.User.findOne({
where:{
name:friends[1].name
}
});
console.log("要刪除的人的資料",f.name,f.email,f.id);
await f.destroy();

let check = await model.User.findOne({//檢查是否已經刪除
where:{
name:friends[1].name
}
});

(check == null).should.be.true;

done();
} catch (e) {
done(e);
}
});



});