@averagehelper/corde
TypeScript icon, indicating that this package has built-in type declarations

2.0.2-alpha.1 • Public • Published

😀 Table of Content

👀 About

Corde is a small testing library for Discord.js. As there is a tool to create bots for Discord, it's cool to also have a tool to test then. Corde objective is to be simple, fast and readable to delevopers, such as many others unity test tool around the web.

Documentation

The bellow documentation is a resume of what you can find in Corde's site

🚀 Getting started

Node.js 12.0.0 or newer is required

Starting create tests with Corde is realy simple. First install it locally with npm npm i -D corde or yarn yarn add -D corde. You can also install it globally: npm i -g corde or yarn global add corde.

After installed, add the file corde.json in root of your application with the follow structure:

{
	"cordeTestToken":  "YOUR_TESTING_BOT_TOKEN_HERE",
	"botTestId":  "YOUR_TESTING_BOT_ID_HERE",
	"botTestToken":  "YOUR_BOT_TOKEN_HERE",
	"guildId":  "THE_GUID_OF_BOT_HERE",
	"channelId":  "CHANNELS_ID_HERE",
	"botPrefix":  "+",
	"testFiles":  ["./test"]
}

Check the Config section for a more detailed explanation of each configuration propertie.

Now that the config file is created, let's create some tests. You can keep the unity test natural file name structure, creating a bot.test.js with the follow structure:

const { group, test, command, beforeStart, afterAll } = require("corde");
const { client, loginBot } = require("..");

beforeStart(() => {
  loginBot();
});

group("main commands", () => {
  test("ping command must return... Ping?!!", () => {
    expect("ping").toReturn("Ping?");
  });
});

afterAll(() => {
  client.destroy();
});

What is happenning ?

  1. beforeStart is a fuction that is used to run something before the execution of tests. Put there the instruction that makes the bot login i.e. You can also start the bot and then run all tests, with that, there is no need of use beforeStart function.
  2. group Is a collections of tests that referes to some sort of tests.
  3. test Is the container of a test. it's describe what will be tested, and what is the expectation.
  4. command is the core of Corde, that is what really with validade if a command is or not executing what it should. The simpliest action that a bot can do is send a plain message, with that, command has a collections of options of expectations of response of the bot, in this case, is tested that a command ping should return pong. 5)afterAll is a fuction that is used to run something after the execution of tests. Put there the instructions that make the logoff of the bot, i.e.

⚙️ Configurations

Option Description
cordeTestToken Bot's token that will send commands to the test bot.
botTestId Bot's id that is being tested.
botTestToken Bot's token of your tested bot.
botTestId Bot's id that is testing.
guildId Guild that your and the test bot are.
channelId Channel that your and the test bot are.
botPrefix Bot invoke command prefix
testFiles Path were all tests files are

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
2.0.2-alpha.10latest

Version History

VersionDownloads (Last 7 Days)Published
2.0.2-alpha.10

Package Sidebar

Install

npm i @averagehelper/corde

Weekly Downloads

0

Version

2.0.2-alpha.1

License

MIT

Unpacked Size

210 kB

Total Files

148

Last publish

Collaborators

  • averagehelper