full upgrade (#31)

* ✨ chore: update CI workflow to include testing and multi-arch build (#29)

* ✨ chore: remove unused dependencies from package-lock.json and updated to a better local dev environment (#30)

* ✨ test: add unit tests

* ✨ test: add unit tests for whole project

* ✨ feat: add whatwg-fetch for improved fetch support

* ✨ chore: update Node.js version to 22 in workflow

* ✨ refactor: update types and improve email handling tests

* ✨ refactor: remove unused imports

* ✨ fix: normalize image name to lowercase in workflows

* ✨ fix: ensure Docker image names are consistently lowercase

* ✨ chore: update

* ✨ chore: update base URL to use secret variable

* ✨ chore: update to login to ghcr

* ✨ fix: add missing 'fi' to close if statement in workflow
This commit is contained in:
Denshooter
2025-02-16 16:36:21 +01:00
committed by GitHub
parent b4616234cf
commit 180b9aa9f8
35 changed files with 5499 additions and 1901 deletions
+12
View File
@@ -0,0 +1,12 @@
export function mockFetch(data: Record<string, unknown>) {
return jest.fn().mockImplementation(() =>
Promise.resolve({
ok: true,
headers: {
get: jest.fn().mockReturnValue('image/jpeg'),
},
arrayBuffer: jest.fn().mockResolvedValue(new ArrayBuffer(8)),
json: () => data,
}),
);
}
@@ -0,0 +1,12 @@
export function mockFetch(responseText: string) {
return jest.fn().mockImplementation((url: string) => {
// Check if the URL being requested is our sitemap endpoint.
if (url.includes('/api/sitemap')) {
return Promise.resolve({
ok: true,
text: () => Promise.resolve(responseText),
});
}
return Promise.reject(new Error(`Unknown URL: ${url}`));
});
}
+8
View File
@@ -0,0 +1,8 @@
export function mockFetch(data: Record<string, unknown>) {
return jest.fn().mockImplementation(() => {
return Promise.resolve({
ok: true,
json: () => Promise.resolve(data),
});
});
}
+9
View File
@@ -0,0 +1,9 @@
/**
* Jest Mock
* ./__mocks__/nodemailer.js
**/
import nodemailer from 'nodemailer';
import { getMockFor } from 'nodemailer-mock';
const nodemailermock = getMockFor(nodemailer);
export default nodemailermock;