Эмулятор Firestore для тестирования правил безопасности - запуск тестов - PullRequest
0 голосов
/ 05 марта 2020

Я установил эмулятор, следуя инструкциям на введите описание ссылки здесь , и я могу запустить его, пока все хорошо.

После выбора некоторого кода здесь и там я написал свой Первый тест, вот он:

import * as firebasetesting from '@firebase/testing';
import * as firebase from 'firebase';
import * as fs from 'fs';

const projectId = 'my-firebase-project';
const rules = fs.readFileSync('firestore.rules', 'utf8');

beforeAll(async () => {
  // Make your test app load your firestore rules
  await firebasetesting.loadFirestoreRules({ projectId, rules });
});
beforeEach(async () => {
  // Reset our data from our test database
  await firebasetesting.clearFirestoreData({ projectId });
});
after(async () => {
  // Shut down all testing Firestore applications after testing is done.
  await Promise.all(firebasetesting.apps().map(app => app.delete()));
});
describe("TRACKERS AND ALLIES", () => {
  it('TRACKER UP', async () => {
    let user = {username: "Bob", uid: 'bobuid'}
    let target = { username: "Alice", uid: 'aliceuid'}

    const auth = { uid: bob.uid, token: {isadmin: false} };
    const app = firebasetesting.initializeTestApp({ projectId, auth }).firestore();
    const ref = app.doc('users/'+ user.uid + '/contact/' + target.uid);

    await firebasetesting.assertSucceeds(ref.update({ up: true, username: target.uid, timestamp: firebase.firestore.FieldValue.serverTimestamp() }));
  });
})

И мой вопрос очень прост: как мне его запустить?

РЕДАКТИРОВАТЬ: я могу просто добавить, что я новичок в Firestore и Javascript в общем ... Ссылка выше просто заявляет

После запуска набора тестов вы можете получить доступ к отчетам о покрытии тестов, которые показывают, как оценивалось каждое из ваших правил безопасности.

Так что, я думаю, это должно быть просто, но я не могу найти команду "run" нигде ...

1 Ответ

1 голос
/ 05 марта 2020

Если у вас есть скрипт nodejs, запустите его с node your-script.js. У вас должен быть установлен узел.

Если вы хотите запустить скрипт вместе с эмулятором и закрыть эмулятор после его завершения, на странице, на которую вы ссылаетесь, написано:

Во многих случаях вы хотите запустить эмулятор, запустить набор тестов, а затем выключить эмулятор после выполнения тестов. Вы можете легко сделать это с помощью команды эмуляторов: exe c:

firebase emulators:exec --only firestore "./my-test-script.sh"

Если документация показалась вам запутанной или неполной, вы должны использовать кнопку «отправить отзыв» в правом верхнем углу страница.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...