Skip to content

Commit

Permalink
feat(features): add release notes feature
Browse files Browse the repository at this point in the history
it contains the same flags as the noon feature
  • Loading branch information
C0ZEN committed Dec 5, 2020
1 parent 076d1c0 commit 6976d06
Show file tree
Hide file tree
Showing 132 changed files with 12,082 additions and 246 deletions.
44 changes: 42 additions & 2 deletions src/enums/class-name.enum.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { ClassNameEnum } from './class-name.enum';
import { getEnumLength } from '../functions/checks/get-enum-length';

describe(`ClassNameEnum`, (): void => {
it(`should have a 5 members`, (): void => {
it(`should have a 10 members`, (): void => {
expect.assertions(1);

expect(getEnumLength(ClassNameEnum)).toStrictEqual(5);
expect(getEnumLength(ClassNameEnum)).toStrictEqual(10);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_NOON_DISABLED"`, (): void => {
Expand Down Expand Up @@ -47,4 +47,44 @@ describe(`ClassNameEnum`, (): void => {
`DiscordMessageCommandFeatureNoonStatus`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_DISABLED"`, (): void => {
expect.assertions(1);

expect(ClassNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_DISABLED).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesDisabled`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_ENABLED"`, (): void => {
expect.assertions(1);

expect(ClassNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_ENABLED).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesEnabled`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_HELP"`, (): void => {
expect.assertions(1);

expect(ClassNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_HELP).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesHelp`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_HUMANIZE"`, (): void => {
expect.assertions(1);

expect(ClassNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_HUMANIZE).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesHumanize`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_STATUS"`, (): void => {
expect.assertions(1);

expect(ClassNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_STATUS).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesStatus`
);
});
});
5 changes: 5 additions & 0 deletions src/enums/class-name.enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,9 @@ export enum ClassNameEnum {
DISCORD_MESSAGE_COMMAND_FEATURE_NOON_HELP = `DiscordMessageCommandFeatureNoonHelp`,
DISCORD_MESSAGE_COMMAND_FEATURE_NOON_HUMANIZE = `DiscordMessageCommandFeatureNoonHumanize`,
DISCORD_MESSAGE_COMMAND_FEATURE_NOON_STATUS = `DiscordMessageCommandFeatureNoonStatus`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_DISABLED = `DiscordMessageCommandFeatureReleaseNotesDisabled`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_ENABLED = `DiscordMessageCommandFeatureReleaseNotesEnabled`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_HELP = `DiscordMessageCommandFeatureReleaseNotesHelp`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_HUMANIZE = `DiscordMessageCommandFeatureReleaseNotesHumanize`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_STATUS = `DiscordMessageCommandFeatureReleaseNotesStatus`,
}
74 changes: 69 additions & 5 deletions src/enums/service-name.enum.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { ServiceNameEnum } from './service-name.enum';
import { getEnumLength } from '../functions/checks/get-enum-length';

describe(`ServiceNameEnum`, (): void => {
it(`should have a 100 members`, (): void => {
it(`should have a 108 members`, (): void => {
expect.assertions(1);

expect(getEnumLength(ServiceNameEnum)).toStrictEqual(100);
expect(getEnumLength(ServiceNameEnum)).toStrictEqual(108);
});

it(`should have a member "APP_CONFIG_CORE_SERVICE"`, (): void => {
Expand Down Expand Up @@ -252,6 +252,14 @@ describe(`ServiceNameEnum`, (): void => {
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_NOON_ENABLED_SUCCESS_FLAG_SERVICE"`, (): void => {
expect.assertions(1);

expect(ServiceNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_NOON_ENABLED_SUCCESS_FLAG_SERVICE).toStrictEqual(
`DiscordMessageCommandFeatureNoonEnabledSuccessFlagService`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_NOON_SERVICE"`, (): void => {
expect.assertions(1);

Expand All @@ -268,11 +276,43 @@ describe(`ServiceNameEnum`, (): void => {
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_NOON_ENABLED_SUCCESS_FLAG_SERVICE"`, (): void => {
it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_CONFIG_CORE_SERVICE"`, (): void => {
expect.assertions(1);

expect(ServiceNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_NOON_ENABLED_SUCCESS_FLAG_SERVICE).toStrictEqual(
`DiscordMessageCommandFeatureNoonEnabledSuccessFlagService`
expect(ServiceNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_CONFIG_CORE_SERVICE).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesConfigCoreService`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_CONFIG_MUTATOR_SERVICE"`, (): void => {
expect.assertions(1);

expect(ServiceNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_CONFIG_MUTATOR_SERVICE).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesConfigMutatorService`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_CONFIG_SERVICE"`, (): void => {
expect.assertions(1);

expect(ServiceNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_CONFIG_SERVICE).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesConfigService`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_ENABLED_SUCCESS_FLAG_SERVICE"`, (): void => {
expect.assertions(1);

expect(ServiceNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_ENABLED_SUCCESS_FLAG_SERVICE).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesEnabledSuccessFlagService`
);
});

it(`should have a member "DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_SERVICE"`, (): void => {
expect.assertions(1);

expect(ServiceNameEnum.DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_SERVICE).toStrictEqual(
`DiscordMessageCommandFeatureReleaseNotesService`
);
});

Expand Down Expand Up @@ -510,6 +550,30 @@ describe(`ServiceNameEnum`, (): void => {
);
});

it(`should have a member "FIREBASE_GUILDS_COMMANDS_FEATURE_RELEASE_NOTES_ENABLED_SERVICE"`, (): void => {
expect.assertions(1);

expect(ServiceNameEnum.FIREBASE_GUILDS_CHANNELS_FEATURES_RELEASE_NOTES_ENABLED_SERVICE).toStrictEqual(
`FirebaseGuildsChannelsFeaturesReleaseNotesEnabledService`
);
});

it(`should have a member "FIREBASE_GUILDS_CHANNELS_FEATURES_RELEASE_NOTES_ENABLED_STATE_SERVICE"`, (): void => {
expect.assertions(1);

expect(ServiceNameEnum.FIREBASE_GUILDS_CHANNELS_FEATURES_RELEASE_NOTES_ENABLED_STATE_SERVICE).toStrictEqual(
`FirebaseGuildsChannelsFeaturesReleaseNotesEnabledStateService`
);
});

it(`should have a member "FIREBASE_GUILDS_CHANNELS_FEATURES_RELEASE_NOTES_SERVICE"`, (): void => {
expect.assertions(1);

expect(ServiceNameEnum.FIREBASE_GUILDS_CHANNELS_FEATURES_RELEASE_NOTES_SERVICE).toStrictEqual(
`FirebaseGuildsChannelsFeaturesReleaseNotesService`
);
});

it(`should have a member "FIREBASE_GUILDS_CHANNELS_FEATURES_SERVICE"`, (): void => {
expect.assertions(1);

Expand Down
8 changes: 8 additions & 0 deletions src/enums/service-name.enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ export enum ServiceNameEnum {
DISCORD_MESSAGE_COMMAND_FEATURE_NOON_ENABLED_SUCCESS_FLAG_SERVICE = `DiscordMessageCommandFeatureNoonEnabledSuccessFlagService`,
DISCORD_MESSAGE_COMMAND_FEATURE_NOON_SERVICE = `DiscordMessageCommandFeatureNoonService`,
DISCORD_MESSAGE_COMMAND_FEATURE_OPPOSITE_FLAGS_ERROR_SERVICE = `DiscordMessageCommandFeatureOppositeFlagsErrorService`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_CONFIG_CORE_SERVICE = `DiscordMessageCommandFeatureReleaseNotesConfigCoreService`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_CONFIG_MUTATOR_SERVICE = `DiscordMessageCommandFeatureReleaseNotesConfigMutatorService`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_CONFIG_SERVICE = `DiscordMessageCommandFeatureReleaseNotesConfigService`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_ENABLED_SUCCESS_FLAG_SERVICE = `DiscordMessageCommandFeatureReleaseNotesEnabledSuccessFlagService`,
DISCORD_MESSAGE_COMMAND_FEATURE_RELEASE_NOTES_SERVICE = `DiscordMessageCommandFeatureReleaseNotesService`,
DISCORD_MESSAGE_COMMAND_FEATURE_SERVICE = `DiscordMessageCommandFeatureService`,
DISCORD_MESSAGE_COMMAND_FEATURE_WRONG_FEATURE_NAME_ERROR_SERVICE = `DiscordMessageCommandFeatureWrongFeatureNameErrorService`,
DISCORD_MESSAGE_COMMAND_FEATURE_WRONG_FLAGS_ERROR_SERVICE = `DiscordMessageCommandFeatureWrongFlagsErrorService`,
Expand Down Expand Up @@ -75,6 +80,9 @@ export enum ServiceNameEnum {
FIREBASE_GUILDS_CHANNELS_FEATURES_NOON_ENABLED_SERVICE = `FirebaseGuildsChannelsFeaturesNoonEnabledService`,
FIREBASE_GUILDS_CHANNELS_FEATURES_NOON_ENABLED_STATE_SERVICE = `FirebaseGuildsChannelsFeaturesNoonEnabledStateService`,
FIREBASE_GUILDS_CHANNELS_FEATURES_NOON_SERVICE = `FirebaseGuildsChannelsFeaturesNoonService`,
FIREBASE_GUILDS_CHANNELS_FEATURES_RELEASE_NOTES_ENABLED_SERVICE = `FirebaseGuildsChannelsFeaturesReleaseNotesEnabledService`,
FIREBASE_GUILDS_CHANNELS_FEATURES_RELEASE_NOTES_ENABLED_STATE_SERVICE = `FirebaseGuildsChannelsFeaturesReleaseNotesEnabledStateService`,
FIREBASE_GUILDS_CHANNELS_FEATURES_RELEASE_NOTES_SERVICE = `FirebaseGuildsChannelsFeaturesReleaseNotesService`,
FIREBASE_GUILDS_CHANNELS_FEATURES_SERVICE = `FirebaseGuildsChannelsFeaturesService`,
FIREBASE_GUILDS_CHANNELS_SERVICE = `FirebaseGuildsChannelsService`,
FIREBASE_GUILDS_NEW_VERSION_SERVICE = `FirebaseGuildsNewVersionService`,
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,22 @@ describe(`DiscordMessageConfigValueNameEnum`, (): void => {
);
});

it(`should have a member "COMMAND_FEATURE_RELEASE_NOTES_COLOR"`, (): void => {
expect.assertions(1);

expect(DiscordMessageConfigValueNameEnum.COMMAND_FEATURE_RELEASE_NOTES_COLOR).toStrictEqual(
`message command feature release notes color`
);
});

it(`should have a member "COMMAND_FEATURE_RELEASE_NOTES_IMAGE_URL"`, (): void => {
expect.assertions(1);

expect(DiscordMessageConfigValueNameEnum.COMMAND_FEATURE_RELEASE_NOTES_IMAGE_URL).toStrictEqual(
`message command feature release notes image url`
);
});

it(`should have a member "COMMAND_HELP_IMAGE_COLOR"`, (): void => {
expect.assertions(1);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ export enum DiscordMessageConfigValueNameEnum {
COMMAND_ERROR_IMAGE_URL = `message command error image url`,
COMMAND_FEATURE_NOON_COLOR = `message command feature noon color`,
COMMAND_FEATURE_NOON_IMAGE_URL = `message command feature noon image url`,
COMMAND_FEATURE_RELEASE_NOTES_COLOR = `message command feature release notes color`,
COMMAND_FEATURE_RELEASE_NOTES_IMAGE_URL = `message command feature elease notes image url`,
COMMAND_HELP_IMAGE_COLOR = `message command help image color`,
COMMAND_HELP_IMAGE_URL = `message command help image url`,
COMMAND_LUNCH_IMAGE_COLOR = `message command lunch image color`,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { discordCommandIsFlagSuccess } from './discord-command-is-flag-success';
import { DiscordCommandFlagSuccessTitleEnum } from '../../../enums/commands/flags/discord-command-flag-success-title.enum';
import { IDiscordCommandFlagSuccess } from '../../../interfaces/commands/flags/discord-command-flag-success';
import { IDiscordMessageResponse } from '../../../interfaces/discord-message-response';
import { DiscordMessageCommandNoonFlagSuccessTitleEnum } from '../../../services/command/feature/features/noon/enums/discord-message-command-noon-flag-success-title.enum';
import { IDiscordCommandFlagResponse } from '../../../types/commands/flags/discord-command-flag-response';
import { createMock } from 'ts-auto-mock';

Expand All @@ -26,7 +26,7 @@ describe(`discordCommandIsFlagSuccess()`, (): void => {
beforeEach((): void => {
value = createMock<IDiscordCommandFlagSuccess>({
description: ``,
name: DiscordCommandFlagSuccessTitleEnum.NOON_FEATURE_ENABLED,
name: DiscordMessageCommandNoonFlagSuccessTitleEnum.NOON_FEATURE_ENABLED,
});
});

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { DiscordCommandFlagSuccessTitleEnum } from '../../../enums/commands/flags/discord-command-flag-success-title.enum';

export interface IDiscordCommandFlagSuccess {
/**
* @description
Expand All @@ -17,5 +15,5 @@ export interface IDiscordCommandFlagSuccess {
*
* Usually used as the title for an [embed field]{@link EmbedFieldData}
*/
name: DiscordCommandFlagSuccessTitleEnum;
name: string;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { DISCORD_MESSAGE_COMMAND_FEATURE_NAME_RELEASE_NOTES } from './discord-message-command-feature-name-release-notes';
import { DiscordCommandFirstArgument } from '../../../../classes/commands/arguments/discord-command-first-argument';
import { DiscordMessageCommandFeatureNameEnum } from '../enums/discord-message-command-feature-name.enum';

describe(`DISCORD_MESSAGE_COMMAND_FEATURE_NAME_RELEASE_NOTES`, (): void => {
it(`should be the Discord release notes feature command message`, (): void => {
expect.assertions(1);

expect(DISCORD_MESSAGE_COMMAND_FEATURE_NAME_RELEASE_NOTES).toStrictEqual(
new DiscordCommandFirstArgument({
description: `Configure the message sent when there is a new release note`,
name: DiscordMessageCommandFeatureNameEnum.RELEASE_NOTES,
shortcuts: [DiscordMessageCommandFeatureNameEnum.R],
})
);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { DiscordCommandFirstArgument } from '../../../../classes/commands/arguments/discord-command-first-argument';
import { DiscordMessageCommandFeatureNameEnum } from '../enums/discord-message-command-feature-name.enum';

export const DISCORD_MESSAGE_COMMAND_FEATURE_NAME_RELEASE_NOTES: DiscordCommandFirstArgument<DiscordMessageCommandFeatureNameEnum> = new DiscordCommandFirstArgument(
{
description: `Configure the message sent when there is a new release note`,
name: DiscordMessageCommandFeatureNameEnum.RELEASE_NOTES,
shortcuts: [DiscordMessageCommandFeatureNameEnum.R],
}
);
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { DISCORD_MESSAGE_COMMAND_FEATURE_NAME_NOON } from './discord-message-command-feature-name-noon';
import { DISCORD_MESSAGE_COMMAND_FEATURE_NAME_RELEASE_NOTES } from './discord-message-command-feature-name-release-notes';
import { DISCORD_MESSAGE_COMMAND_FEATURE_NAMES } from './discord-message-command-feature-names';
import { DiscordCommandFirstArguments } from '../../../../classes/commands/arguments/discord-command-first-arguments';

Expand All @@ -7,7 +8,10 @@ describe(`DISCORD_MESSAGE_COMMAND_FEATURE_NAMES`, (): void => {
expect.assertions(1);

expect(DISCORD_MESSAGE_COMMAND_FEATURE_NAMES).toStrictEqual(
new DiscordCommandFirstArguments([DISCORD_MESSAGE_COMMAND_FEATURE_NAME_NOON])
new DiscordCommandFirstArguments([
DISCORD_MESSAGE_COMMAND_FEATURE_NAME_NOON,
DISCORD_MESSAGE_COMMAND_FEATURE_NAME_RELEASE_NOTES,
])
);
});
});
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { DISCORD_MESSAGE_COMMAND_FEATURE_NAME_NOON } from './discord-message-command-feature-name-noon';
import { DISCORD_MESSAGE_COMMAND_FEATURE_NAME_RELEASE_NOTES } from './discord-message-command-feature-name-release-notes';
import { DiscordCommandFirstArguments } from '../../../../classes/commands/arguments/discord-command-first-arguments';
import { DiscordMessageCommandFeatureNameEnum } from '../enums/discord-message-command-feature-name.enum';

export const DISCORD_MESSAGE_COMMAND_FEATURE_NAMES: DiscordCommandFirstArguments<DiscordMessageCommandFeatureNameEnum> = new DiscordCommandFirstArguments(
[DISCORD_MESSAGE_COMMAND_FEATURE_NAME_NOON]
[DISCORD_MESSAGE_COMMAND_FEATURE_NAME_NOON, DISCORD_MESSAGE_COMMAND_FEATURE_NAME_RELEASE_NOTES]
);
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { DiscordMessageCommandFeatureNameEnum } from './discord-message-command-
import { getEnumLength } from '../../../../../../../functions/checks/get-enum-length';

describe(`DiscordMessageCommandFeatureNameEnum`, (): void => {
it(`should have a 2 members`, (): void => {
it(`should have a 4 members`, (): void => {
expect.assertions(1);

expect(getEnumLength(DiscordMessageCommandFeatureNameEnum)).toStrictEqual(2);
expect(getEnumLength(DiscordMessageCommandFeatureNameEnum)).toStrictEqual(4);
});

it(`should have a member "NOON"`, (): void => {
Expand All @@ -19,4 +19,16 @@ describe(`DiscordMessageCommandFeatureNameEnum`, (): void => {

expect(DiscordMessageCommandFeatureNameEnum.N).toStrictEqual(`n`);
});

it(`should have a member "RELEASE_NOTES"`, (): void => {
expect.assertions(1);

expect(DiscordMessageCommandFeatureNameEnum.RELEASE_NOTES).toStrictEqual(`release-notes`);
});

it(`should have a member "R"`, (): void => {
expect.assertions(1);

expect(DiscordMessageCommandFeatureNameEnum.R).toStrictEqual(`r`);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,9 @@ export enum DiscordMessageCommandFeatureNameEnum {
* Shortcut for {@link NOON}
*/
N = `n`,
RELEASE_NOTES = `release-notes`,
/**
* Shortcut for {@link RELEASE_NOTES}
*/
R = `r`,
}
Loading

0 comments on commit 6976d06

Please sign in to comment.