UNPKG

a_mock

Version:

Sub package of a. Mocking framework

68 lines (54 loc) 1.78 kB
var assert = require('assert'); var test = require('../../test'); var newRequireMock = require('../../partialMock/simple/newRequireMock'); var newMock = require('../../partialMock/simple/newMock'); (function(){ console.log('mockFuncProperties'); var newPropertyMock = newRequireMock('./propertyMock'); var mockFuncProperties = newRequireMock('./mockFuncProperties'); var sut = require('../mockFuncProperties'); (function() { console.log('subject is non-primitive'); var subject = {}; var a2 = {}; var a = function() {}; var b = {}; subject.a = a; subject.b = b; var mockObject = {}; var aMock = {}; var b2Mock = {}; var bMock = {}; mockObject.a = aMock; mockObject.b = bMock; var expectedA = {}; newPropertyMock.expect(subject).expect('a').expect(aMock).return(expectedA); mockFuncProperties.expect(a).expect(aMock).whenCalled(onMockSubProperties).return(); mockFuncProperties.expect(b).expect(bMock).whenCalled(onMockSubProperties).return(); var mockSubPropertiesCount = 0; var didMockSubProperties = false; function onMockSubProperties() { mockSubPropertiesCount++; didMockSubProperties = (mockSubPropertiesCount == 2); } sut(subject,mockObject); test('it should mock property a',function() { assert.equal(subject.a,expectedA); }); test('it should mock subProperties',function() { assert.ok(didMockSubProperties); }); test('it should not change property b',function() { assert.equal(subject.b,b); }); })(); (function() { console.log('subject is primitive'); var subject = 'a'; var mockObject = 'a'; sut(subject,mockObject); test('it should not throw',function() { assert(true); }); })(); })();