- ✅ Ticket 1.1: Estructura Clean Architecture en backend - ✅ Ticket 1.2: Schemas Zod compartidos - ✅ Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares) - ✅ Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares) - ✅ Ticket 1.5: Eliminación de duplicidades (~50 líneas) Cambios principales: - Creada estructura Clean Architecture en backend/src/ - Schemas Zod compartidos en backend/src/shared/schemas/ - Refactorización modular de drugs y procedures - Utilidades genéricas en src/utils/ (filter, validation) - Eliminados scripts obsoletos y documentación antigua - Corregidos errores: QueryClient, import test-error-handling - Build verificado y funcionando correctamente
74 lines
1.8 KiB
JavaScript
74 lines
1.8 KiB
JavaScript
describe('fn.name', function () {
|
|
'use strict';
|
|
|
|
var assume = require('assume')
|
|
, name = require('./');
|
|
|
|
it('is exported as a function', function () {
|
|
assume(name).is.a('function');
|
|
});
|
|
|
|
it('can extract the name from a function declaration', function () {
|
|
function foobar() {}
|
|
|
|
assume(name(foobar)).equals('foobar');
|
|
});
|
|
|
|
it('can extract the name from a function expression', function () {
|
|
var a = function bar() {};
|
|
|
|
assume(name(a)).equals('bar');
|
|
});
|
|
|
|
it('can be overriden using displayName', function () {
|
|
var a = function bar() {};
|
|
a.displayName = 'bro';
|
|
|
|
assume(name(a)).equals('bro');
|
|
});
|
|
|
|
it('works with constructed instances', function () {
|
|
function Bar(){}
|
|
|
|
var foo = new Bar();
|
|
|
|
assume(name(foo)).equals('Bar');
|
|
});
|
|
|
|
it('works with anonymous', function () {
|
|
assume(name(function () {})).equals('anonymous');
|
|
});
|
|
|
|
it('returns the className if we were not given a function', function () {
|
|
assume(name('string')).equals('String');
|
|
});
|
|
|
|
//
|
|
// Test if the env supports async functions, if so add a test to ensure
|
|
// that we will work with async functions.
|
|
//
|
|
var asyncfn = true;
|
|
try { new Function('return async function hello() {}')(); }
|
|
catch (e) { asyncfn = false; }
|
|
|
|
if (asyncfn) it('detects the name of async functions', function () {
|
|
var fn = new Function('return async function hello() {}')();
|
|
|
|
assume(name(fn)).equals('hello');
|
|
});
|
|
|
|
//
|
|
// Test that this env supports generators, if so add a test to ensure that
|
|
// we will work with generators.
|
|
//
|
|
var generators = true;
|
|
try { new Function('return function* generator() {}')(); }
|
|
catch (e) { generator = false; }
|
|
|
|
if (generators) it('detecs the name of a generator', function () {
|
|
var fn = new Function('return function* hello() {}')();
|
|
|
|
assume(name(fn)).equals('hello');
|
|
});
|
|
});
|