Mock nostr service globally in tests
This commit is contained in:
@@ -1034,7 +1034,7 @@ export default class MapComponent extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
handleMapMove = async () => {
|
handleMapMove = async () => {
|
||||||
if (!this.mapInstance) return;
|
if (!this.mapInstance || this.isDestroying || this.isDestroyed) return;
|
||||||
|
|
||||||
const view = this.mapInstance.getView();
|
const view = this.mapInstance.getView();
|
||||||
const center = toLonLat(view.getCenter());
|
const center = toLonLat(view.getCenter());
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import {
|
|||||||
setupRenderingTest as upstreamSetupRenderingTest,
|
setupRenderingTest as upstreamSetupRenderingTest,
|
||||||
setupTest as upstreamSetupTest,
|
setupTest as upstreamSetupTest,
|
||||||
} from 'ember-qunit';
|
} from 'ember-qunit';
|
||||||
|
import { setupNostrMocks } from './mock-nostr';
|
||||||
|
|
||||||
// This file exists to provide wrappers around ember-qunit's
|
// This file exists to provide wrappers around ember-qunit's
|
||||||
// test setup functions. This way, you can easily extend the setup that is
|
// test setup functions. This way, you can easily extend the setup that is
|
||||||
@@ -10,6 +11,7 @@ import {
|
|||||||
|
|
||||||
function setupApplicationTest(hooks, options) {
|
function setupApplicationTest(hooks, options) {
|
||||||
upstreamSetupApplicationTest(hooks, options);
|
upstreamSetupApplicationTest(hooks, options);
|
||||||
|
setupNostrMocks(hooks);
|
||||||
|
|
||||||
// Additional setup for application tests can be done here.
|
// Additional setup for application tests can be done here.
|
||||||
//
|
//
|
||||||
@@ -29,12 +31,14 @@ function setupApplicationTest(hooks, options) {
|
|||||||
|
|
||||||
function setupRenderingTest(hooks, options) {
|
function setupRenderingTest(hooks, options) {
|
||||||
upstreamSetupRenderingTest(hooks, options);
|
upstreamSetupRenderingTest(hooks, options);
|
||||||
|
setupNostrMocks(hooks);
|
||||||
|
|
||||||
// Additional setup for rendering tests can be done here.
|
// Additional setup for rendering tests can be done here.
|
||||||
}
|
}
|
||||||
|
|
||||||
function setupTest(hooks, options) {
|
function setupTest(hooks, options) {
|
||||||
upstreamSetupTest(hooks, options);
|
upstreamSetupTest(hooks, options);
|
||||||
|
setupNostrMocks(hooks);
|
||||||
|
|
||||||
// Additional setup for unit tests can be done here.
|
// Additional setup for unit tests can be done here.
|
||||||
}
|
}
|
||||||
|
|||||||
96
tests/helpers/mock-nostr.js
Normal file
96
tests/helpers/mock-nostr.js
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
import Service from '@ember/service';
|
||||||
|
import { tracked } from '@glimmer/tracking';
|
||||||
|
import { Promise } from 'rsvp';
|
||||||
|
|
||||||
|
export class MockNostrAuthService extends Service {
|
||||||
|
@tracked pubkey = null;
|
||||||
|
@tracked signerType = null;
|
||||||
|
@tracked connectStatus = null;
|
||||||
|
@tracked connectUri = null;
|
||||||
|
|
||||||
|
get isConnected() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
get isMobile() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
get signer() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
async connectWithExtension() {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
async connectWithApp() {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
disconnect() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class MockNostrDataService extends Service {
|
||||||
|
@tracked profile = null;
|
||||||
|
@tracked mailboxes = null;
|
||||||
|
@tracked blossomServers = [];
|
||||||
|
@tracked placePhotos = [];
|
||||||
|
|
||||||
|
store = {
|
||||||
|
add: () => {},
|
||||||
|
};
|
||||||
|
|
||||||
|
get activeReadRelays() {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
get activeWriteRelays() {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
get defaultReadRelays() {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
get defaultWriteRelays() {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
get userDisplayName() {
|
||||||
|
return 'Mock User';
|
||||||
|
}
|
||||||
|
|
||||||
|
loadPlacesInBounds() {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
loadPhotosForPlace() {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
loadPlacePhotos() {
|
||||||
|
return Promise.resolve();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class MockNostrRelayService extends Service {
|
||||||
|
pool = {
|
||||||
|
publish: () => Promise.resolve([{ ok: true }]),
|
||||||
|
subscribe: () => {},
|
||||||
|
unsubscribe: () => {},
|
||||||
|
close: () => {},
|
||||||
|
};
|
||||||
|
|
||||||
|
async publish() {
|
||||||
|
return [{ ok: true }];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setupNostrMocks(hooks) {
|
||||||
|
hooks.beforeEach(function () {
|
||||||
|
this.owner.register('service:nostrAuth', MockNostrAuthService);
|
||||||
|
this.owner.register('service:nostrData', MockNostrDataService);
|
||||||
|
this.owner.register('service:nostrRelay', MockNostrRelayService);
|
||||||
|
});
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user