mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
refactor: use mockFetch
This commit is contained in:
parent
028d41d585
commit
31eb74b6e4
1 changed files with 17 additions and 6 deletions
|
|
@ -2,6 +2,7 @@ import { Env as HonoEnv, Hono } from '@hono/hono';
|
||||||
import { NostrSigner, NSecSigner, NStore } from '@nostrify/nostrify';
|
import { NostrSigner, NSecSigner, NStore } from '@nostrify/nostrify';
|
||||||
import { generateSecretKey, getPublicKey } from 'nostr-tools';
|
import { generateSecretKey, getPublicKey } from 'nostr-tools';
|
||||||
import { bytesToString, stringToBytes } from '@scure/base';
|
import { bytesToString, stringToBytes } from '@scure/base';
|
||||||
|
import { stub } from '@std/testing/mock';
|
||||||
import { assertEquals, assertExists, assertObjectMatch } from '@std/assert';
|
import { assertEquals, assertExists, assertObjectMatch } from '@std/assert';
|
||||||
|
|
||||||
import { createTestDB, genEvent } from '@/test.ts';
|
import { createTestDB, genEvent } from '@/test.ts';
|
||||||
|
|
@ -9,12 +10,6 @@ import { createTestDB, genEvent } from '@/test.ts';
|
||||||
import cashuApp from '@/controllers/api/cashu.ts';
|
import cashuApp from '@/controllers/api/cashu.ts';
|
||||||
import { walletSchema } from '@/schema.ts';
|
import { walletSchema } from '@/schema.ts';
|
||||||
|
|
||||||
import { stub } from '@std/testing/mock';
|
|
||||||
|
|
||||||
stub(globalThis, 'fetch', () => {
|
|
||||||
return Promise.resolve(new Response());
|
|
||||||
});
|
|
||||||
|
|
||||||
interface AppEnv extends HonoEnv {
|
interface AppEnv extends HonoEnv {
|
||||||
Variables: {
|
Variables: {
|
||||||
/** Signer to get the logged-in user's pubkey, relays, and to sign events. */
|
/** Signer to get the logged-in user's pubkey, relays, and to sign events. */
|
||||||
|
|
@ -28,6 +23,7 @@ Deno.test('PUT /wallet must be successful', {
|
||||||
sanitizeOps: false,
|
sanitizeOps: false,
|
||||||
sanitizeResources: false,
|
sanitizeResources: false,
|
||||||
}, async () => {
|
}, async () => {
|
||||||
|
using _mock = mockFetch();
|
||||||
await using db = await createTestDB();
|
await using db = await createTestDB();
|
||||||
const store = db.store;
|
const store = db.store;
|
||||||
|
|
||||||
|
|
@ -104,6 +100,7 @@ Deno.test('PUT /wallet must be successful', {
|
||||||
});
|
});
|
||||||
|
|
||||||
Deno.test('PUT /wallet must NOT be successful: wrong request body/schema', async () => {
|
Deno.test('PUT /wallet must NOT be successful: wrong request body/schema', async () => {
|
||||||
|
using _mock = mockFetch();
|
||||||
await using db = await createTestDB();
|
await using db = await createTestDB();
|
||||||
const store = db.store;
|
const store = db.store;
|
||||||
|
|
||||||
|
|
@ -136,6 +133,7 @@ Deno.test('PUT /wallet must NOT be successful: wrong request body/schema', async
|
||||||
});
|
});
|
||||||
|
|
||||||
Deno.test('PUT /wallet must NOT be successful: wallet already exists', async () => {
|
Deno.test('PUT /wallet must NOT be successful: wallet already exists', async () => {
|
||||||
|
using _mock = mockFetch();
|
||||||
await using db = await createTestDB();
|
await using db = await createTestDB();
|
||||||
const store = db.store;
|
const store = db.store;
|
||||||
|
|
||||||
|
|
@ -170,6 +168,7 @@ Deno.test('PUT /wallet must NOT be successful: wallet already exists', async ()
|
||||||
});
|
});
|
||||||
|
|
||||||
Deno.test('GET /wallet must be successful', async () => {
|
Deno.test('GET /wallet must be successful', async () => {
|
||||||
|
using _mock = mockFetch();
|
||||||
await using db = await createTestDB();
|
await using db = await createTestDB();
|
||||||
const store = db.store;
|
const store = db.store;
|
||||||
|
|
||||||
|
|
@ -282,6 +281,7 @@ Deno.test('GET /wallet must be successful', async () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
Deno.test('GET /mints must be successful', async () => {
|
Deno.test('GET /mints must be successful', async () => {
|
||||||
|
using _mock = mockFetch();
|
||||||
await using db = await createTestDB();
|
await using db = await createTestDB();
|
||||||
const store = db.store;
|
const store = db.store;
|
||||||
|
|
||||||
|
|
@ -301,3 +301,14 @@ Deno.test('GET /mints must be successful', async () => {
|
||||||
assertEquals(response.status, 200);
|
assertEquals(response.status, 200);
|
||||||
assertEquals(body, { mints: [] });
|
assertEquals(body, { mints: [] });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function mockFetch() {
|
||||||
|
const mock = stub(globalThis, 'fetch', () => {
|
||||||
|
return Promise.resolve(new Response());
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
[Symbol.dispose]: () => {
|
||||||
|
mock.restore();
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue