Skip to main content
Glama
issueCreationValidation.test.ts2.51 kB
/** * Unit tests for the issue creation validation functions */ import { describe, expect, it } from '@jest/globals' import { validateCreateIssueFields } from '../issueCreationValidation' import type { CreateIssueFields } from '../createIssue' describe('validateCreateIssueFields', () => { it('should return null for valid fields', () => { // Valid fields with all required properties const validFields: CreateIssueFields = { summary: 'Test Issue', project: { key: 'TEST', }, issuetype: { id: '10001', }, } // Execute validation const result = validateCreateIssueFields(validFields) // Verify expect(result).toBeNull() }) it('should return error for missing summary', () => { // Missing summary const invalidFields: CreateIssueFields = { summary: '', project: { key: 'TEST', }, issuetype: { id: '10001', }, } // Execute validation const result = validateCreateIssueFields(invalidFields) // Verify expect(result).toBe('Summary is required') }) it('should return error for missing project key', () => { // Missing project key const invalidFields: CreateIssueFields = { summary: 'Test Issue', project: { key: '', }, issuetype: { id: '10001', }, } // Execute validation const result = validateCreateIssueFields(invalidFields) // Verify expect(result).toBe('Project key is required') }) it('should return error for missing issue type ID', () => { // Missing issue type ID const invalidFields: CreateIssueFields = { summary: 'Test Issue', project: { key: 'TEST', }, issuetype: { id: '', }, } // Execute validation const result = validateCreateIssueFields(invalidFields) // Verify expect(result).toBe('Either issue type ID or name is required') }) it('should return error for undefined project', () => { // Undefined project const invalidFields = { summary: 'Test Issue', issuetype: { id: '10001', }, } as CreateIssueFields // Execute validation const result = validateCreateIssueFields(invalidFields) // Verify expect(result).toBe('Project key is required') }) it('should return error for undefined issue type', () => { // Undefined issue type const invalidFields = { summary: 'Test Issue', project: { key: 'TEST', }, } as CreateIssueFields // Execute validation const result = validateCreateIssueFields(invalidFields) // Verify expect(result).toBe('Issue type is required') }) })

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tbreeding/jira-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server