2

I implemented Jasmine/Karma inside of my angular webapplikation. When I do ng test I keep getting a error because of firebase. I get the error: "Cannot read property firestore of undefined" This is my error-> enter image description here

This is my config file for karma

 module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage-istanbul-reporter'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    client: {
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    coverageIstanbulReporter: {
      dir: require('path').join(__dirname, '../coverage'),
      reports: ['html', 'lcovonly'],
      fixWebpackSourcePaths: true
    },
    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    singleRun: false
  });
};

This is how my test spec file is setup. I made it very simple, and haven't made any test yet

    describe('FirebaseService', () => {
  beforeEach(() => TestBed.configureTestingModule({
    providers:[ { provide: AngularFireAuth }, { provide: AngularFirestore 
 }]
   }));

   it('should be created', () => {
    const service: FirebaseService = TestBed.get(FirebaseService);
     expect(service).toBeTruthy();
   });
 });

My firebaseService

    import { Injectable } from '@angular/core';
import { AngularFirestore, AngularFirestoreDocument } from '@angular/fire/firestore';
import { User } from 'src/app/user/user';

@Injectable({
  providedIn: 'root'
})
export class FirebaseService {
  dbUser;
  dbUserDoc;

  constructor(private db: AngularFirestore) {
    db.firestore.settings({ timestampsInSnapshots: true, });
  }
  addCompetitionIdToUser(compId, uId) {
    const userRef: AngularFirestoreDocument<User> = 
 this.db.doc(`users/${uId}`);
    userRef.update({
      competitionIds: compId
    });

  }

}
EdwinS95
  • 138
  • 11

0 Answers0