CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-jest-expect-message

Add custom message to Jest expects

Overall
score

99%

Overview
Eval results
Files

task.mdevals/scenario-1/

User Data Validator

Build a user data validation module that validates user profile data with descriptive test error messages.

Requirements

Create a validation module that checks user profile objects for correctness. The module should validate:

  1. Username requirements: Must be a non-empty string between 3-20 characters
  2. Email format: Must be a valid email address format
  3. Age validation: Must be a number between 13-120
  4. Profile completeness: Must have all required fields (username, email, age)

All validation functions should throw descriptive errors when validation fails.

Test Scenarios

Write comprehensive tests with custom error messages. Configure error output differently based on the test scenario:

  • Test username length validation with descriptive error showing what failed @test
  • Test email format validation with custom message but without the "Custom message:" prefix for cleaner output @test
  • Test age range validation showing only your custom message (hide matcher details and stack trace for brevity) @test
  • Test profile completeness with custom message, hiding both the prefix and matcher message but keeping the stack trace @test

Implementation

@generates

API

/**
 * Validates username meets requirements.
 * @param {string} username - Username to validate
 * @throws {Error} If username is invalid
 */
function validateUsername(username) {
  // Implementation
}

/**
 * Validates email address format.
 * @param {string} email - Email to validate
 * @throws {Error} If email format is invalid
 */
function validateEmail(email) {
  // Implementation
}

/**
 * Validates age is within acceptable range.
 * @param {number} age - Age to validate
 * @throws {Error} If age is out of range
 */
function validateAge(age) {
  // Implementation
}

/**
 * Validates complete user profile.
 * @param {Object} profile - User profile object
 * @throws {Error} If profile is incomplete or invalid
 */
function validateProfile(profile) {
  // Implementation
}

module.exports = { validateUsername, validateEmail, validateAge, validateProfile };

Dependencies { .dependencies }

jest-expect-message { .dependency }

Provides custom message support for Jest assertions with configurable error output formatting.

@satisfied-by

Install with Tessl CLI

npx tessl i tessl/npm-jest-expect-message

tile.json