Ho un ambito che applico a un oggetto Mongoid in rails che funziona alla grande durante lo sviluppo, ma non durante l'esecuzione di test. In realtà non funziona affatto nei test. Questo è un documento incorporato.rspec Lo scope mutoide funziona nello sviluppo non nei test
Il genitore:
class Person
include Mongoid::Document
def self.with_appointments
where(:appointments.not => { '$size' => 0 })
end
embeds_many :appointments, store_as: 'Appointments', class_name: 'Appointment'
end
Il bambino incorporato:
class Appointment
include Mongoid::Document
embedded_in :person
end
Quando eseguo test contro il mio modello restituisce persone se hanno gli appuntamenti o meno. Se eseguo lo stesso dal mio controller in fase di sviluppo rispetto al database, filtra le persone con appuntamenti vuoti.
Cosa mi manca?
Prima mi chiede di cambiare la configurazione del database -
- Non ho il controllo sulla struttura dei dati
- Si supponga che non hanno nemmeno accesso in scrittura al database
si può aggiungere snippet del codice di test e di sviluppo? compresa la configurazione – Gashaw
C'è qualcosa in particolare a cui sei interessato? Il codice di test e sviluppo più tutta l'installazione sarebbe sicuramente un enorme muro di codice, quindi forse c'è qualcosa di più specifico? –
Vorrei mettere in pausa il test usando Pry e ispezionare il database. Assicurarsi che i record siano effettivamente persistenti? Confronta i record all'interno di ogni raccolta per vedere se sono gli stessi che ti aspetti. Alcuni dei codici sorgente di test potrebbero aiutare. –