"use strict"; // Public module from npm import chai from "chai"; import chaiAsPromised from "chai-as-promised"; import { INVALID_THREAD_ID, USER_NOT_LOGGED } from "../../../src/scripts/classes/errors"; // Module from files import { Thread } from "../../../src"; import Shared from "../../../src/scripts/shared"; chai.use(chaiAsPromised); const { expect } = chai; export function suite(): void { it("Fetch thread with invalid ID", async function fetchWithInvalidID() { Shared.setIsLogged(true); const thread = new Thread(-1); await expect(thread.fetch()).to.be.rejectedWith(INVALID_THREAD_ID); }); it("Fetch thread with null ID", async function fetchWithNullID() { Shared.setIsLogged(true); const thread = new Thread(null); await expect(thread.fetch()).to.be.rejectedWith(INVALID_THREAD_ID); }); it("Fetch thread without authentication", async function fetchWithoutAuth() { Shared.setIsLogged(false); const thread = new Thread(1234); await expect(thread.fetch()).to.be.rejectedWith(USER_NOT_LOGGED); }); it("Fetch post with invalid ID", async function fetchWithInvalidID() { Shared.setIsLogged(true); const thread = new Thread(-1); await expect(thread.getPost(0)).to.be.rejectedWith("Index must be greater or equal than 1"); }); }