невозможно создать магазин в IndexedDB с Angular 8 - PullRequest
1 голос
/ 03 августа 2020

Итак, я новичок в 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();
  });
});

Как видите, я пытаюсь заставить его работать.

Но я не вижу людей, добавленных в журналы.

...