Știu că tocmai am spus că vom lucra în partea de control a aplicației noastre acum și
vom primi șoferul și le vom trimite în baza de date.
Dar mă gândesc probabil că ar fi foarte frumos să scriem întregul test în jurul acestui solicitant
de solicitare pentru a vedea mai întâi că testul eșuează și apoi scrie implementarea reală.
Așa că acum avem doar o cerere logică.
În realitate nu avem vreo afirmație aici.
Deci, cum să spunem în schimb să scriem într-o afirmație sau două și apoi să lucrăm la controlerul însuși și
apoi putem avea o mare încredere că testul funcționează corect.
Deci, să mergem cu acea rundă, trebuie să fii un pic mai distractiv.
Deci, în măsura în care facem o afirmație reală aici, există câteva moduri diferite pe care le putem face.
Deci, care sunt diferitele modalități pe care le putem testa pentru a ne asigura că această solicitare a fost
efectiv emisă corect și primită de server.
Voi propune trei posibilități diferite.
Există trei moduri diferite în care putem face acest lucru.
Primul mod în care putem testa această solicitare este să examinăm obiectul de răspuns care
revine după finalizarea solicitării.
Putem să vedem răspunsul și poate că vom presupune că răspunsul va conține șoferul care tocmai a
fost creat și care are un sens perfect.
Ca atunci când un șofer este creat, are sens să trimită modelul înapoi aceluia care a făcut cererea reală de a spune
că aici este înregistrarea care tocmai a fost creată, care este total rezonabilă.
Așadar, ne putem uita la înregistrarea care se întoarce și doar afirmăm că există ca și cum cererea a
fost încheiată cu succes și am primit un șofer înapoi.
În mod evident, acestea trebuie să fi fost salvate în baza de date, astfel încât să fie metoda numărul unu.
Numărul doi ar fi un pic mai clasic, ceva mai aproape de ceea ce am făcut deja
până la Tesco.
Deci, metoda numărul doi ar fi să adăugăm într-o afirmație chiar aici să ne uităm
în interiorul colecției de drivere și să afirmăm că există un șofer cu un e-mail de test la test dot com.
Aceasta ar fi o altă abordare.
Și numărul doi ar fi total rezonabile și foarte în concordanță cu ceea ce am făcut până acum.
Cea de-a treia opțiune va fi cu siguranță cea mai provocatoare, ar fi să ne uităm la numărul
de șoferi pe care îi avem în interiorul colecției de mașini pentru conducători auto înainte ca cererea să fie făcută.
Deci poate că chiar aici luăm în calcul toți șoferii din colecția noastră de drivere și
spunem că sunt în regulă în prezent 0 șoferi înăuntru de aici, atunci facem cererea, apoi luăm în considerare mai multe câți conducători auto sunt
acum în colecție și afirmăm că există ar trebui să fie acum un șofer înăuntru de acolo.
Deci, acesta ar fi celălalt traseu pe care l-am putea merge.
Putem lua în considerare în prealabil și apoi luăm în considerare după ce cererea a fost
făcută prin a afirma că a fost adăugat un șofer suplimentar pe colecție.
Deci, trei moduri diferite putem merge.
Voi sugera că doar să vă arăt că știți pentru că am făcut cazul în care găsim un e-mail foarte special al
unei înregistrări pe care am făcut-o cu siguranță de câteva ori înainte.
Voi spune că vom încerca aici metodologia contelui.
Deci, vom număra numărul de șoferi înainte de timp și apoi vom număra numărul după ce
cererea a fost terminată și va afirma că a fost creat un driver suplimentar.
Acum poate că nu este cel mai bun test din lume și cred că nu este cel mai
bun pentru că nu afirmăm că a fost creat un șofer cu adresa de e-mail corectă.
Tocmai afirmăm că a fost creat un șofer.
Deci, poate că nu este cel mai bun test, dar cred că vreau doar să vă arăt câteva metodologii diferite
de testare.
Deci, cred că asta va merge cu acest timp.
Deci hai sa o facem.
Treaba noastră este să luăm numărul de șoferi înainte ca cererea să fie făcută, cererea să ia contele după aceea și
apoi să afirme că există un nou șofer sau un șofer suplimentar în interiorul colecției.
Deci, primul lucru pe care trebuie să-l facem este să importăm modelul de driver în acest fișier de testare.
Deci, în partea de sus vom importa șoferul.
Și nu vom face acest lucru, nefiind necesari în model, vom face acest lucru, uitându-se la Mongoose și
obținerea unui acces direct direct la modelul șoferului în acest fel.
Acum, de asemenea, trebuie să ne asigurăm că avem nevoie și de mongoasă, astfel încât amintirile Konst mongoose
necesită mongoose ca atare.
Deci, s-ar putea să vă întrebați de ce în lume accesăm soferul așa cum
nu ne cerem doar bărbații.
Ei bine, acest lucru merge foarte îndeaproape înapoi la o parte din discuția pe care am avut-o anterior în care
am menționat că expresia Moka și mongoose nu au jucat întotdeauna împreună foarte frumos.
Și astfel de lucruri în jurul valorii de faptul că acestea nu dives într-adevăr partea bună a unui mediu
de testare.
Cum am spus că vom vedea câteva cazuri în care aceste lucruri nu funcționează
prea bine împreună.
În acest caz special, motivul pentru care aceste lucruri nu funcționează bine împreună
și motivul real pentru care accesăm modelul șoferului în acest mod este acela că tipul Moka tinde să încerce să solicite mai mult
de o dată în aceste fișiere.
În esență, ceea ce se întâmplă este faptul că fișierul driverului se termină prin a fi executat mai mult de o dată, ceea ce
înseamnă că modelul de driver va fi încercat să fie creat mai mult de o singură dată.
Rezultatul net este faptul că ajungem la acest mesaj de eroare mare, care spune că încercați să declarați
un model de șofer atunci când cineva a fost deja declarat.
Deci, este doar un pic de soluție pentru asta.
Din nou, nu vreau să intru prea adânc în ea știu doar că știi Mongoose Mogahed și exprimă, uneori, le-au
un pic de instinct pentru ei.
Oricare dintre noi înapoi la asta.
Acum avem modelul nostru de conducător auto, astfel încât să luăm în calcul o colecție de șoferi.
Am făcut asta o dată înainte.
Așa că spunem că șoferul nu contează.
Aceasta este o operație asincronă, deoarece trebuie să mergem la Mongoose RACV peste Mago și să spunem hei în colecția dvs. de
conducător auto cât de multe înregistrări aveți acum.
Deci, acesta este un lucru care durează ceva timp pentru a fi executat.
Așa că se întoarce o promisiune.
Așa că o să ne întoarcem la conte după ce ne-am întoarce pe conte.
Vom face cererea noastră, astfel încât vom lua întreaga cerere.
O să-l mut în callback-ul sau în declarația respectivă pentru numărul de conducători auto.
O.K.
Așa că am să adaug în câteva spații suplimentare aici pentru a face sintaxa
tot mai lizibilă.
Și aceasta este cu siguranță o logică foarte imbricată pe care o avem.
Ei bine, voi micșora puțin, astfel încât să puteți vedea tot drumul spre stânga și spre dreapta.
Deci, acum, când facem cererile noastre, știm câte drivere începem cu această variabilă de
numărare chiar aici.
Așa că, după ce vom face cererea, vom lua din nou numărul de șoferi din nou.
Deci, în interiorul sfârșitului vom spune că șoferul nu contează.
Apoi vom lua în noul număr ca o variabilă numită contor nou.
Și apoi înăuntru de aici vom afirma că numărătoarea.
Deci conta aici este numarul de inceput si conturile originale ca primul cont,
plus unul este egal cu numarul nou.
Deci, practic, spunem daca am inceput cu 0 drivere sa adaugam 1 la asta, pentru ca doar 1 ar fi trebuit
sa fie adaugat si asta ar trebui sa fie egal cu numarul nou.
Și apoi, în cele din urmă după afirmație, vom apela callback-ul făcut.
Și mă voi asigura, de asemenea, că voi curăța punctul.
Apoi, în afara funcției de numărare OK.
Deci, din nou, o declaratie foarte imbricata.
Luăm în considerare numărul inițial pe care îl facem cererea.
Avem un alt număr.
Afirmăm că cei doi sunt în esență în primul rând și apoi îi sunăm apelul făcut.
O să scoată niște personaje noi de aici.
Acum, doar pentru a compacta totul în jos.
Rece.
Deci, asta e tot ce avem nevoie.
Să vedem cum face testarea noastră la terminalul pe care-l cunoști și să-l întorci.
Ouch.
Avem un mare eșec în interiorul aici.
Deci se spune că schema nu a fost înregistrată pentru driverul de model.
Ei bine, este un pic neașteptat nu am spus doar că problema cu toate aceste lucruri este că știi că modelele
se cer mai mult decât o dată.
Dar ce este acest mesaj.
În mod evident, ceva nu este aici.
Să facem o pauză înapoi și să ne asigurăm că totul din lumea noastră Moka va
fi totul în lumea noastră de mongoasă.
Deoarece în mod clar nu este foarte bine înființat chiar acum.
Deci, hai să avem grijă de asta în secțiunea următoare.