UNPKG

blackbird-server

Version:
24 lines (22 loc) 999 B
const {expect} = require("chai"); const Option = require("fantasy-options"); const R = require("ramda"); const {parallel} = require("../loader"); const lens = parallel(require, __filename); describe("data/lens", function () { describe("#assocLens", function () { const aLens = lens.assocLens("a"); it("should view a Some if the value is defined", function () { expect(R.view(aLens, {a: true}).fold(R.identity, R.always(false))).to.equal(true); }); it("should view a None if the value is undefined", function () { expect(R.view(aLens, {b: true}).fold(R.identity, R.always(false))).to.equal(false); }); it("should set a value if a some is provided", function () { expect(R.set(aLens, new Option.Some(true), {a: false}).a).to.equal(true); }); it("should dissociate if a none is provided", function () { expect(R.set(aLens, Option.None, {a: false})).to.eql({}); }); }); });