|
1 | 1 | const { expect } = require("chai");
|
2 | 2 | const firestore = require("../../../utils/firestore");
|
3 |
| -const { setInDiscordFalseScript, addRoleToUser } = require("../../../services/discordService"); |
| 3 | +const { setInDiscordFalseScript, addRoleToUser, getDiscordMembers } = require("../../../services/discordService"); |
4 | 4 | const { fetchAllUsers } = require("../../../models/users");
|
5 | 5 | const Sinon = require("sinon");
|
6 | 6 | const userModel = firestore.collection("users");
|
7 | 7 | const userDataArray = require("../../fixtures/user/user")();
|
| 8 | +const discordMembersArray = require("../../fixtures/discordResponse/discord-response"); |
8 | 9 | let fetchStub;
|
9 | 10 | describe("Discord services", function () {
|
10 | 11 | describe("setInDiscordFalseScript", function () {
|
@@ -43,4 +44,33 @@ describe("Discord services", function () {
|
43 | 44 | expect(response.message).to.be.equal("done");
|
44 | 45 | });
|
45 | 46 | });
|
| 47 | + |
| 48 | + describe("get discord members", function () { |
| 49 | + beforeEach(function () { |
| 50 | + fetchStub = Sinon.stub(global, "fetch"); |
| 51 | + }); |
| 52 | + afterEach(function () { |
| 53 | + fetchStub.restore(); |
| 54 | + }); |
| 55 | + it("Gets all the members from discord server", async function () { |
| 56 | + fetchStub.returns( |
| 57 | + Promise.resolve({ |
| 58 | + status: 200, |
| 59 | + json: () => Promise.resolve(discordMembersArray.getDiscordMembers), |
| 60 | + }) |
| 61 | + ); |
| 62 | + |
| 63 | + const response = await getDiscordMembers(); |
| 64 | + expect(response).to.deep.equal(discordMembersArray.getDiscordMembers); |
| 65 | + expect(fetchStub.calledOnce).to.be.equal(true); |
| 66 | + }); |
| 67 | + |
| 68 | + it("fails to get discord members", async function () { |
| 69 | + fetchStub.rejects(new Error("Fetch call error")); |
| 70 | + getDiscordMembers().catch((err) => { |
| 71 | + expect(err).to.be.an.instanceOf(Error); |
| 72 | + expect(err.message).to.equal("Fetch call error"); |
| 73 | + }); |
| 74 | + }); |
| 75 | + }); |
46 | 76 | });
|
0 commit comments