assert = require("chai").assert sinon = require('sinon') chai = require('chai') should = chai.should() expect = chai.expect modulePath = "../../../../app/js/infrastructure/RedisWrapper.js" SandboxedModule = require('sandboxed-module') describe 'RedisWrapper', -> beforeEach -> @settings = { redis: {} } @redis = createClient: sinon.stub() @RedisWrapper = SandboxedModule.require modulePath, requires: 'settings-sharelatex': @settings 'redis-sharelatex': @redis describe 'client', -> it "should use the feature settings if present", -> @settings.redis = my_feature: port:"23456" host:"otherhost" password: "banana" @RedisWrapper.client("my_feature") @redis.createClient.calledWith(@settings.redis.my_feature).should.equal true it "should use the web settings if feature not present", -> @settings.redis = web: port:"43" host:"otherhost" password: "banana" @RedisWrapper.client("my_feature") @redis.createClient.calledWith(@settings.redis.web).should.equal true