Итак, я новичок в IndexedDB и создал сервис и тест, чтобы заставить это работать. Я делаю это в первый раз, поэтому, пожалуйста, расскажите мне об этом.
Вот мой сервис indexdb.service.ts
import { Injectable } from '@angular/core';
import { IndexedDBAngular } from 'indexeddb-angular';
@Injectable({
providedIn: 'root'
})
export class IndexdbService {
createCollections(db) {
console.log("Creating collection");
db.currentTarget.result.createObjectStore('people').then(() => {
db.add('people', { name: 'name', email: 'email' }).then(() => {
// Do something after the value was added
console.log("People added");
}, (error) => {
console.log(error);
});
});
}
private db = new IndexedDBAngular('myDb', 1);
constructor() {
}
init() {
this.db.createStore(1, this.createCollections).then(() => {
console.log("Executed");
this.test1();
});
}
test1() {
console.log("About to execute test 1");
this.db.getByKey('people', 1).then((person) => {
console.log(person);
}, (error) => {
console.log(error);
});
}
}
А вот тест
import { TestBed } from '@angular/core/testing';
import { IndexdbService } from "./IndexdbService";
fdescribe('Database Interaction', () => {
var settings = {
name: "TEST",
version: 1
};
beforeEach(() => TestBed.configureTestingModule({
}));
fit('should be created', () => {
const service: IndexdbService = TestBed.get(IndexdbService);
service.init();
expect(service).toBeTruthy();
});
});
Как видите, я пытаюсь заставить его работать.
Но я не вижу людей, добавленных в журналы.