データベースにデータがある場合にコンポーネントがどのようにレンダリングされるかのテストを作成しようとしていますが、次のエラーが発生しています。
insert failed: Method '/residents/insert' not found
これが私のテストです
クライアント/見込み客/Prospect.tests.js
import { Meteor } from 'meteor/meteor';
import React from 'react';
import { mount, shallow } from 'enzyme';
import Prospects from './Prospects'
import { chai } from 'meteor/practicalmeteor:chai'
import { resetDatabase } from 'meteor/xolvio:cleaner';
import { Factory } from 'meteor/dburles:factory'
import { Residents } from './../../collections/residents.jsx';
import StubCollections from 'meteor/hwillson:stub-collections';
import { Random } from 'meteor/random';
describe('Prospects', () => {
if (Meteor.isServer) return;
it('renders with no prospects', () => {
const item = mount(<Prospects />);
chai.assert(item.find('p').hasClass('no-prospects'))
});
it('renders with prospects', () => {
StubCollections.stub(Residents);
Residents.insert({
cId: Random.id(),
name: {first: "John", last: "Smith"},
status: 'prospect',
chai.assert(item.find('p').hasClass('prospects'))
})
});
});
ここに私のコレクションがあります
コレクション/residents.jsx
import { Mongo } from 'meteor/mongo'
import { Factory } from 'meteor/dburles:factory'
import faker from 'meteor/practicalmeteor:faker';
import { Random } from 'meteor/random';
export const Residents = new Mongo.Collection('residents')
const productTypeSchema = new SimpleSchema({
list: {type: [String], optional: true},
other: {type: String, optional: true}
})
const residentSchema = new SimpleSchema({
cId: { type: String },
name: { type: nameSchema },
status: { type: String }
})
Residents.attachSchema(residentSchema)
// METHODS
Meteor.methods({
'residents.insert'(resident) {
Residents.insert(resident)
}
})
// PUBLICATIONS
if(Meteor.isServer) {
Meteor.publish('residents', function() {
return Residents.find()
})
Meteor.publish('resident', function(id) {
return Residents.find({_id: id})
})
}
なぜそのエラーが発生するのか、誰にも分かりますか?