Skip to content

Commit

Permalink
improve unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
VoxBorealis committed Jul 21, 2023
1 parent c7ca065 commit 1a5455b
Showing 1 changed file with 62 additions and 74 deletions.
136 changes: 62 additions & 74 deletions app/test/ui.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@ const officeTwo = {
officeEmoji: ":city_sunset:",
};

const assertButtonStyling = (result, expected) => {
const assertButtonStyling = (result, expected, confirmNotNull) => {
assert.strictEqual(result.officeButtonColor, expected.officeButtonColor);
assert.strictEqual(result.remoteButtonColor, expected.remoteButtonColor);
assert.strictEqual(result.emojis.registrationEmoji, expected.emojis.registrationEmoji);
assert.strictEqual(result.emojis.officeEmoji, expected.emojis.officeEmoji);
assert.strictEqual(result.confirm, expected.confirm);
confirmNotNull
? assert.notStrictEqual(result.confirm, null)
: assert.strictEqual(result.confirm, expected.confirm);
};

describe("registration buttons stylizing logic", () => {
Expand Down Expand Up @@ -62,108 +64,94 @@ describe("registration buttons stylizing logic", () => {
officeButtonColor: "danger",
remoteButtonColor: null,
emojis: { registrationEmoji: "normal", officeEmoji: officeTwo.officeEmoji },
confirm: null,
confirm: {},
};
assertButtonStyling(result, expectedResult);
assertButtonStyling(result, expectedResult, true);
});

it("normal remote registration to another office and no default registration", () => {
registration = { status: false, officeId: officeTwo.id, ...officeTwo };
const { officeButtonColor, remoteButtonColor, emojis, confirm } = stylizeRegisterButtons(
registration,
defaultRegistration,
selectedOffice,
);
assert.strictEqual(officeButtonColor, null);
assert.strictEqual(remoteButtonColor, "danger");
assert.strictEqual(emojis.registrationEmoji, "normal");
assert.strictEqual(emojis.officeEmoji, officeTwo.officeEmoji);
assert.notStrictEqual(confirm, null);
const result = stylizeRegisterButtons(registration, defaultRegistration, selectedOffice);
const expectedResult = {
officeButtonColor: null,
remoteButtonColor: "danger",
emojis: { registrationEmoji: "normal", officeEmoji: officeTwo.officeEmoji },
confirm: {},
};
assertButtonStyling(result, expectedResult, true);
});

it("default office registration to selected office", () => {
defaultRegistration = { status: true, officeId: officeOne.id, ...officeOne };
const { officeButtonColor, remoteButtonColor, emojis, confirm } = stylizeRegisterButtons(
registration,
defaultRegistration,
selectedOffice,
);
assert.strictEqual(officeButtonColor, "primary");
assert.strictEqual(remoteButtonColor, null);
assert.strictEqual(emojis.registrationEmoji, "default");
assert.strictEqual(emojis.officeEmoji, null);
assert.strictEqual(confirm, null);
const result = stylizeRegisterButtons(registration, defaultRegistration, selectedOffice);
const expectedResult = {
officeButtonColor: "primary",
remoteButtonColor: null,
emojis: { registrationEmoji: "default", officeEmoji: null },
confirm: null,
};
assertButtonStyling(result, expectedResult);
});

it("default remote registration to selected office", () => {
defaultRegistration = { status: false, officeId: officeOne.id, ...officeOne };
const { officeButtonColor, remoteButtonColor, emojis, confirm } = stylizeRegisterButtons(
registration,
defaultRegistration,
selectedOffice,
);
assert.strictEqual(officeButtonColor, null);
assert.strictEqual(remoteButtonColor, "primary");
assert.strictEqual(emojis.registrationEmoji, "default");
assert.strictEqual(emojis.officeEmoji, null);
assert.strictEqual(confirm, null);
const result = stylizeRegisterButtons(registration, defaultRegistration, selectedOffice);
const expectedResult = {
officeButtonColor: null,
remoteButtonColor: "primary",
emojis: { registrationEmoji: "default", officeEmoji: null },
confirm: null,
};
assertButtonStyling(result, expectedResult);
});

it("default office registration to another office", () => {
defaultRegistration = { status: true, officeId: officeTwo.id, ...officeTwo };
const { officeButtonColor, remoteButtonColor, emojis, confirm } = stylizeRegisterButtons(
registration,
defaultRegistration,
selectedOffice,
);
assert.strictEqual(officeButtonColor, "danger");
assert.strictEqual(remoteButtonColor, null);
assert.strictEqual(emojis.registrationEmoji, "default");
assert.strictEqual(emojis.officeEmoji, officeTwo.officeEmoji);
assert.notStrictEqual(confirm, null);
const result = stylizeRegisterButtons(registration, defaultRegistration, selectedOffice);
const expectedResult = {
officeButtonColor: "danger",
remoteButtonColor: null,
emojis: { registrationEmoji: "default", officeEmoji: officeTwo.officeEmoji },
confirm: {},
};
assertButtonStyling(result, expectedResult, true);
});

it("default remote registration to another office", () => {
defaultRegistration = { status: false, officeId: officeTwo.id, ...officeTwo };
const { officeButtonColor, remoteButtonColor, emojis, confirm } = stylizeRegisterButtons(
registration,
defaultRegistration,
selectedOffice,
);
assert.strictEqual(officeButtonColor, null);
assert.strictEqual(remoteButtonColor, "danger");
assert.strictEqual(emojis.registrationEmoji, "default");
assert.strictEqual(emojis.officeEmoji, officeTwo.officeEmoji);
assert.notStrictEqual(confirm, null);
const result = stylizeRegisterButtons(registration, defaultRegistration, selectedOffice);
const expectedResult = {
officeButtonColor: null,
remoteButtonColor: "danger",
emojis: { registrationEmoji: "default", officeEmoji: officeTwo.officeEmoji },
confirm: {},
};
assertButtonStyling(result, expectedResult, true);
});

it("normal office registration to selected office with default office registration to another office", () => {
registration = { status: true, officeId: officeOne.id, ...officeOne };
defaultRegistration = { status: true, officeId: officeTwo.id, ...officeTwo };
const { officeButtonColor, remoteButtonColor, emojis, confirm } = stylizeRegisterButtons(
registration,
defaultRegistration,
selectedOffice,
);
assert.strictEqual(officeButtonColor, "primary");
assert.strictEqual(remoteButtonColor, null);
assert.strictEqual(emojis.registrationEmoji, "normal");
assert.strictEqual(emojis.officeEmoji, null);
assert.strictEqual(confirm, null);
const result = stylizeRegisterButtons(registration, defaultRegistration, selectedOffice);
const expectedResult = {
officeButtonColor: "primary",
remoteButtonColor: null,
emojis: { registrationEmoji: "normal", officeEmoji: null },
confirm: null,
};
assertButtonStyling(result, expectedResult);
});

it("normal remote registration to selected office with default office registration to another office", () => {
registration = { status: false, officeId: officeOne.id, ...officeOne };
defaultRegistration = { status: true, officeId: officeTwo.id, ...officeTwo };
const { officeButtonColor, remoteButtonColor, emojis, confirm } = stylizeRegisterButtons(
registration,
defaultRegistration,
selectedOffice,
);
assert.strictEqual(officeButtonColor, null);
assert.strictEqual(remoteButtonColor, "primary");
assert.strictEqual(emojis.registrationEmoji, "normal");
assert.strictEqual(emojis.officeEmoji, null);
assert.strictEqual(confirm, null);
const result = stylizeRegisterButtons(registration, defaultRegistration, selectedOffice);
const expectedResult = {
officeButtonColor: null,
remoteButtonColor: "primary",
emojis: { registrationEmoji: "normal", officeEmoji: null },
confirm: null,
};
assertButtonStyling(result, expectedResult);
});
});

0 comments on commit 1a5455b

Please sign in to comment.