Skip to content

Commit 7f79193

Browse files
committed
update integration test
1 parent 708d57e commit 7f79193

File tree

3 files changed

+45
-20
lines changed

3 files changed

+45
-20
lines changed

models/users.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,17 @@ const addOrUpdate = async (userData, userId = null) => {
4545
}
4646

4747
// userId is null, Add or Update user
48-
const user = await userModel.where("github_user_id", "==", userData.github_user_id).limit(1).get();
49-
if (!user.empty) {
50-
await userModel.doc(user.docs[0].id).set(userData, { merge: true });
51-
52-
return {
53-
isNewUser: false,
54-
userId: user.docs[0].id,
55-
incompleteUserDetails: user.docs[0].data().incompleteUserDetails,
56-
};
48+
if (userData.github_user_id) {
49+
const user = await userModel.where("github_user_id", "==", userData.github_user_id).limit(1).get();
50+
if (!user.empty) {
51+
await userModel.doc(user.docs[0].id).set(userData, { merge: true });
52+
53+
return {
54+
isNewUser: false,
55+
userId: user.docs[0].id,
56+
incompleteUserDetails: user.docs[0].data().incompleteUserDetails,
57+
};
58+
}
5759
}
5860

5961
// Add new user

test/fixtures/user/user.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,5 +343,26 @@ module.exports = () => {
343343
twitter_id: "ramsingh123",
344344
linkedin_id: "ramsingh123",
345345
},
346+
{
347+
username: "testuser2",
348+
first_name: "test2",
349+
last_name: "user2",
350+
yoe: 1,
351+
img: "./img.png",
352+
linkedin_id: "testuser1",
353+
github_id: "testuser1",
354+
github_display_name: "Test User",
355+
phone: "1234567890",
356+
357+
chaincode: "12345",
358+
359+
roles: {
360+
member: true,
361+
},
362+
picture: {
363+
publicId: "profile/mtS4DhUvNYsKqI7oCWVB/aenklfhtjldc5ytei3ar",
364+
url: "https://res.cloudinary.com/realdevsquad/image/upload/v1667685133/profile/mtS4DhUvNYsKqI7oCWVB/aenklfhtjldc5ytei3ar.jpg",
365+
},
366+
},
346367
];
347368
};

test/integration/users.test.js

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const userAlreadyNotMember = userData[13];
3232
const userAlreadyArchived = userData[5];
3333
const userAlreadyUnArchived = userData[4];
3434
const nonSuperUser = userData[0];
35+
const userWithoutGithubUserId = userData[14];
3536

3637
const cookieName = config.get("userToken.cookieName");
3738
const { userPhotoVerificationData } = require("../fixtures/user/photo-verification");
@@ -1256,6 +1257,7 @@ describe("Users", function () {
12561257
let fetchStub;
12571258

12581259
beforeEach(async function () {
1260+
await addUser(userWithoutGithubUserId);
12591261
fetchStub = Sinon.stub(axios, "get");
12601262
});
12611263

@@ -1275,8 +1277,8 @@ describe("Users", function () {
12751277
expect(usersMigrateResponse.body).to.deep.equal({
12761278
message: "Result of migration",
12771279
data: {
1278-
totalUsers: 2,
1279-
usersUpdated: 2,
1280+
totalUsers: 3,
1281+
usersUpdated: 3,
12801282
usersNotUpdated: 0,
12811283
invalidUsersDetails: [],
12821284
},
@@ -1296,17 +1298,17 @@ describe("Users", function () {
12961298
expect(usersMigrateResponse).to.have.status(200);
12971299
expect(usersMigrateResponse.body.message).to.be.equal("Result of migration");
12981300
expect(usersMigrateResponse.body).to.have.property("data");
1299-
expect(usersMigrateResponse.body.data).to.have.property("totalUsers");
1300-
expect(usersMigrateResponse.body.data.totalUsers).to.be.equal(2);
1301-
expect(usersMigrateResponse.body.data).to.have.property("usersUpdated");
1301+
expect(usersMigrateResponse.body.data).to.have.all.keys(
1302+
"totalUsers",
1303+
"usersUpdated",
1304+
"usersNotUpdated",
1305+
"invalidUsersDetails"
1306+
);
1307+
expect(usersMigrateResponse.body.data.totalUsers).to.be.equal(3);
13021308
expect(usersMigrateResponse.body.data.usersUpdated).to.be.equal(0);
1303-
expect(usersMigrateResponse.body.data).to.have.property("usersNotUpdated");
1304-
expect(usersMigrateResponse.body.data.usersNotUpdated).to.be.equal(2);
1305-
expect(usersMigrateResponse.body.data).to.have.property("invalidUsersDetails");
1309+
expect(usersMigrateResponse.body.data.usersNotUpdated).to.be.equal(3);
13061310
usersMigrateResponse.body.data.invalidUsersDetails.forEach((document) => {
1307-
expect(document).to.have.property("userId");
1308-
expect(document).to.have.property("username");
1309-
expect(document).to.have.property("githubUsername");
1311+
expect(document).to.have.all.keys("userId", "username", "githubUsername");
13101312
});
13111313
});
13121314
it("Should return unauthorized error when not logged in", function (done) {

0 commit comments

Comments
 (0)