Skip to main content

M220JS: MongoDB for Javascript Developers

MongoDB with node.js

Notes while taking M220JS: MongoDB for Javascript Developers - Learn the essentials of Node.js application development with MongoDB.

Chapter 1: Driver Setup

Test database connection

PS F:\Projects\mflix-js> npm test -t db-connection

> server@1.0.0 test F:\Projects\mflix-js
> jest --passWithNoTests "db-connection"

Determining test suites to run...Setup Mongo Connection
 PASS  test/db-connection.test.js
  Connection
    √ Can access MFlix data (360ms)
    √ Can retrieve a movie by id (60ms)
    √ Can retrieve first page of movies (267ms)

Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
Snapshots:   0 total
Time:        3.337s, estimated 4s
Ran all test suites matching /db-connection/i.
Teardown Mongo Connection
PS F:\Projects\mflix-js>

Ticket: Projection

PS F:\Projects\mflix-js> npm test -t projection

> server@1.0.0 test F:\Projects\mflix-js
> jest --passWithNoTests "projection"

Determining test suites to run...Setup Mongo Connection
  console.log src/dao/moviesDAO.js:58
    Passed argument countries: Kosovo

  console.log src/dao/moviesDAO.js:58
    Passed argument countries: Russia,Japan,Mexico

 PASS  test/projection.test.js (5.994s)
  Projection
    √ Can perform a country search for one country (643ms)
    √ Can perform a country search for three countries (781ms)

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        6.566s, estimated 9s
Ran all test suites matching /projection/i.
Teardown Mongo Connection
PS F:\Projects\mflix-js>

Ticket: Text and Subfield Search

PS F:\Projects\mflix-js> npm test -t text-subfield

> server@1.0.0 test F:\Projects\mflix-js
> jest --passWithNoTests "text-subfield"

Determining test suites to run...Setup Mongo Connection
 PASS  test/text-subfield.test.js (5.126s)
  Text and Subfield Search
    √ Can perform a text search (481ms)
    √ Can perform a genre search with one genre (371ms)
    √ Can perform a genre search with multiple genres (281ms)
    √ Can perform a cast search with one cast member (171ms)
    √ Can perform a cast search with multiple cast members (275ms)
    √ Can perform a search and return a non-default number of movies per page (403ms)

Test Suites: 1 passed, 1 total
Tests:       6 passed, 6 total
Snapshots:   0 total
Time:        5.711s
Ran all test suites matching /text-subfield/i.
Teardown Mongo Connection
PS F:\Projects\mflix-js>

Chapter 2: User-Facing Backend

Ticket: Paging

PS D:\projects\mflix-js> npm test -t paging

> server@1.0.0 test D:\projects\mflix-js
> jest --passWithNoTests "paging"

Determining test suites to run...Setup Mongo Connection
 PASS  test/paging.test.js (6.534s)
  Paging
    √ Supports paging by cast (1534ms)
    √ Supports paging by genre (837ms)
    √ Supports paging by text (223ms)

Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
Snapshots:   0 total
Time:        7.138s
Ran all test suites matching /paging/i.
Teardown Mongo Connection
PS D:\projects\mflix-js>

Ticket: Faceted Search

PS D:\projects\mflix-js> npm test -t facets

> server@1.0.0 test D:\projects\mflix-js
> jest --passWithNoTests "facets"       

Determining test suites to run...Setup Mongo Connection
 PASS  test/facets.test.js
  Facets
    √ should require cast members to perform search with (3ms)
    √ should return movies and runtime/rating facets for returned movies (579ms)
    √ should also support paging (199ms)
    √ should throw an error if castMembers is empty (4ms)

Test Suites: 1 passed, 1 total
Tests:       4 passed, 4 total
Snapshots:   0 total
Time:        3.559s, estimated 6s
Ran all test suites matching /facets/i.
Teardown Mongo Connection
PS D:\projects\mflix-js> 

Ticket: User Management

PS D:\projects\mflix-js> npm test -t user-management

> server@1.0.0 test D:\projects\mflix-js  
> jest --passWithNoTests "user-management"

Determining test suites to run...Setup Mongo Connection
 PASS  test/user-management.test.js
  User Management
    √ it can add a new user to the database (613ms)
    √ it returns an error when trying to register duplicate user (64ms)
    √ it allows a user to login (236ms)
    √ it allows a user to logout (130ms)

Test Suites: 1 passed, 1 total
Tests:       4 passed, 4 total
Snapshots:   0 total
Time:        5.441s
Ran all test suites matching /user-management/i.
Teardown Mongo Connection
PS D:\projects\mflix-js> 

Ticket: User Preferences

PS D:\projects\mflix-js> npm test -t user-preferences

> server@1.0.0 test D:\projects\mflix-js   
> jest --passWithNoTests "user-preferences"

Determining test suites to run...Setup Mongo Connection
 PASS  test/user-preferences.test.js (5.258s)
  User Preferences
    √ Invalid user should not have preferences (817ms)
    √ Null preferences should be valid (180ms)
    √ Valid preferences are reflected in DB (296ms)

Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
Snapshots:   0 total
Time:        6.103s
Ran all test suites matching /user-preferences/i.
Teardown Mongo Connection
PS D:\projects\mflix-js> 

Ticket: Get Comments

PS D:\projects\mflix-js> npm test -t get-comments

> server@1.0.0 test D:\projects\mflix-js
> jest --passWithNoTests "get-comments"

Determining test suites to run...Setup Mongo Connection
 PASS  test/get-comments.test.js (5.274s)
  Get Comments
    √ Can fetch comments for a movie (573ms)
    √ comments should be sorted by date (126ms)

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        6.203s
Ran all test suites matching /get-comments/i.
Teardown Mongo Connection
PS D:\projects\mflix-js>

Ticket: Create/Update Comments

PS D:\projects\mflix-js> npm test -t create-update-comments

> server@1.0.0 test D:\projects\mflix-js
> jest --passWithNoTests "create-update-comments"

Determining test suites to run...Setup Mongo Connection
 PASS  test/create-update-comments.test.js
  Create/Update Comments
    √ Can post a comment (342ms)
    √ Can update a comment (119ms)
    √ Can only update comment if user posted comment (31ms)

Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
Snapshots:   0 total
Time:        3.342s, estimated 5s
Ran all test suites matching /create-update-comments/i.
Teardown Mongo Connection
PS D:\projects\mflix-js> 

Ticket: Delete Comments

PS D:\projects\mflix-js> npm test -t delete-comments

> server@1.0.0 test D:\projects\mflix-js  
> jest --passWithNoTests "delete-comments"

Determining test suites to run...Setup Mongo Connection
 PASS  test/delete-comments.test.js
  Delete Comments
    √ Can post a comment (652ms)
    √ Cannot delete a comment if email does not match (114ms)
    √ Can delete a comment if email matches (59ms)

Test Suites: 1 passed, 1 total
Tests:       3 passed, 3 total
Snapshots:   0 total
Time:        5.274s
Ran all test suites matching /delete-comments/i.
Teardown Mongo Connection
PS D:\projects\mflix-js> 

Chapter 3: Admin Backend

Ticket: User Report

PS D:\projects\mflix-js> npm test -t user-report

> server@1.0.0 test D:\projects\mflix-js
> jest --passWithNoTests "user-report"  

Determining test suites to run...Setup Mongo Connection
 PASS  test/user-report.test.js (5.719s)
  User Report
    √ Should return exactly twenty results (1259ms)
    √ Should return correct comment totals (604ms)

Test Suites: 1 passed, 1 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        6.345s
Ran all test suites matching /user-report/i.
Teardown Mongo Connection
PS D:\projects\mflix-js> 

Ticket: Migration

PS D:\projects\mflix-js> node .\src\migrations\movie-last-updated-migration.js
 Found 23539 documents to update
 23539 documents updated
PS D:\projects\mflix-js> 
PS D:\projects\mflix-js> npm test -t migration

> server@1.0.0 test D:\projects\mflix-js
> jest --passWithNoTests "migration"    

Determining test suites to run...Setup Mongo Connection
 PASS  test/migration.test.js (6.246s)
  Migration
    √ migration (384ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        7.461s
Ran all test suites matching /migration/i.
Teardown Mongo Connection
PS D:\projects\mflix-js> 

Chapter 4: Resiliency

Ticket: Connection Pooling

PS D:\projects\mflix-js> npm test -t connection-pooling 

> server@1.0.0 test D:\projects\mflix-js     
> jest --passWithNoTests "connection-pooling"

Determining test suites to run...Setup Mongo Connection
(node:13736) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } 
to the MongoClient constructor.
 PASS  test/connection-pooling.test.js
  Connection Pooling
    √ Connection pool size is 50 (57ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        5.079s
Ran all test suites matching /connection-pooling/i.
Teardown Mongo Connection
PS D:\projects\mflix-js>

Ticket: Timeouts

PS D:\projects\mflix-js> npm test -t timeouts

> server@1.0.0 test D:\projects\mflix-js
> jest --passWithNoTests "timeouts"     

Determining test suites to run...Setup Mongo Connection
 PASS  test/timeouts.test.js
  Timeouts
    √ Timeout is set to 2500 milliseconds (281ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        3.463s
Ran all test suites matching /timeouts/i.
Teardown Mongo Connection
PS D:\projects\mflix-js>

Popular posts from this blog

IIS: Delete cached files on server running IIS

Delete cached files on server running IIS When changing css, javascript files, check to delete if IIS still caches old files in the default folder C:\inetpub\temp\IIS Temporary Compressed Files\<sitename>\$^_gzip_D^\ Apply to: IIS 8.5

Linux command: du - disk usage

Where have all my storage gone? du summarize disk usage of the set of FILEs, recursively for directories.

ManageEngine ServiceDesk Plus - Reset password

Let's reset the default administrator's password to 'admin'