Giter Club home page Giter Club logo

Comments (5)

ColCh avatar ColCh commented on August 25, 2024

Any ideas how revert is now working?

Hm, wrote small workaroud for a while:

var rewireReplace = function (module, replaces) {
  var reverts = {};

  Object.keys(replaces).forEach(function (key) {
    reverts[key] = module.__get__(key);
    module.__set__(key, replaces[key]);
  });

  return function revert () {
    Object.keys(reverts).forEach(function (key) {
      module.__set__(key, reverts[key]);
    });
  };
};

Usage:

      var revertRewire;

      before(function () {
        revertRewire = rewireReplace(modelsActions, {
          'Product.findAll': fakeFindAll
        });
      });

      after(function () {
        revertRewire();
      });

from rewire.

jhnns avatar jhnns commented on August 25, 2024

Should be fixed with 2.1.5 😀

from rewire.

ColCh avatar ColCh commented on August 25, 2024

Thanks.

Partially :)

Works:

      var revertRewire;

      before(function () {
        revertRewire = modelsActions.__set__('Product.findAll', fakeFindAll);
      });

      after(function () {
        revertRewire();
      });

Also this way it works too (I think it's a nice way to inject mocks):

      var revertRewire;

      before(function () {
        revertRewire = modelsActions.__set__({
          Product: {
            findAll: fakeFindAll
          }
        });
      });

      after(function () {
        revertRewire();
      });

And this - nope:

      var revertRewire;

      before(function () {
        revertRewire = modelsActions.__set__({
          'Product.findAll': fakeFindAll
        });
      });

      after(function () {
        revertRewire();
      });

So, I really like this way

        revertRewire = modelsActions.__set__({
          Product: {
            findAll: fakeFindAll
          }

from rewire.

jhnns avatar jhnns commented on August 25, 2024
        revertRewire = modelsActions.__set__({
          'Product.findAll': fakeFindAll
        });

This syntax was never intended to work 😁. But it is possible to implement, so I added it with v2.2.0

from rewire.

ColCh avatar ColCh commented on August 25, 2024

Thank you! 👍

from rewire.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.