From 6db650b609112b8edfa5b4933bddcae8f1969dfe Mon Sep 17 00:00:00 2001 From: Christopher Hase Date: Mon, 31 Mar 2025 16:21:15 +0200 Subject: [PATCH] unit tests part 6 --- README.md | 11 +++++++---- broker.test.ts | 10 +--------- broker.ts | 2 +- package.json | 2 +- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index d634221..2599ac8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ # I-Ching - The I-Ching (a.k.a. the *Book of Changes*) is an ancient method of divination based on cleromancy (assigning meaning to the generation of apparently random numbers.) Six numbers between 6 and 9 are generated in order to create a hexagram, the meaning of which is @@ -13,17 +12,21 @@ This app will send an I-Ching horoscope to the pre-configured mailhog instance i This app uses the I-Ching library app https://github.com/Velfi/i-ching.git. ## Configuration -It is possible to configure the mail host and port. +Properties of the app can be configured in the file config.json. It is possible to configure the mail host and port. It is also possible to configure the intervall of days between the sending of horoscopes and the time of sending. The default is to send one email every seven days at 8 am. ## First Start The app can be deployed by running: - kubectl apply -f deployment.yaml +```bash +$ kubectl apply -f deployment.yaml +``` When a pod with the app is initally started, one email will be sent to the configured receiver. ## Testing The Jest unit tests can be run with -npm test \ No newline at end of file +```bash +$ npm test +``` \ No newline at end of file diff --git a/broker.test.ts b/broker.test.ts index a7e5c27..91853d6 100644 --- a/broker.test.ts +++ b/broker.test.ts @@ -1,11 +1,7 @@ import { html } from "./broker"; import { test, beforeAll, afterAll } from "@jest/globals"; -/*jest.useFakeTimers(); - -beforeAll(() => { - jest.spyOn(console, "log").mockImplementation(() => {}); -});*/ +jest.useFakeTimers(); test("Generate HTML for hexagram", () => { expect(html("Hexagram No. 45 ䷬\nGathering Together [Massing]\n萃 (cuì)")) @@ -21,7 +17,3 @@ test("Generate HTML for images", () => { expect(html("Images:\nOver the earth, the lake:\nThe image of Gathering Together.\nThus the superior man renews his weapons\nIn order to meet the unforseen.")) .toBe("

Images:

Over the earth, the lake:
The image of Gathering Together.
Thus the superior man renews his weapons
In order to meet the unforseen.

"); }); - -/*afterAll(() => { - (console.log as jest.Mock).mockRestore(); -});*/ diff --git a/broker.ts b/broker.ts index 57aa4fa..30c65ec 100644 --- a/broker.ts +++ b/broker.ts @@ -73,7 +73,7 @@ async function sendEmail(content: string) { const transporter = nodemailer.createTransport({ host: config.mailHost, port: config.mailPort, - secure: false // MailHog needs no encryption + secure: false }); try { diff --git a/package.json b/package.json index 3bb34c3..40090f4 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "main": "broker.js", "scripts": { - "test": "jest --runInBand --detectOpenHandles --force-exit" + "test": "jest --no-cache --force-exit" }, "keywords": [], "author": "",