97 lines
1.7 KiB
JavaScript
97 lines
1.7 KiB
JavaScript
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);
|
|
});
|
|
}
|