atecarlos / protractor-http-mock

A library designed to work alongside Protractor for setting up mocks for your HTTP ajax requests.
MIT License
173 stars 70 forks source link

Empty array for mock.requestsMade() #98

Closed miqdad-perk closed 8 years ago

miqdad-perk commented 8 years ago

I am facing same issue mentioned in https://github.com/atecarlos/protractor-http-mock/issues/33 and https://github.com/atecarlos/protractor-http-mock/issues/27

protractor version 3.3.0 protractor-http-mock: 0.1.12

protractor.conf.js

exports.config = {
  directConnect: true,

  // Capabilities to be passed to the webdriver instance.
  capabilities: {
    'browserName': 'chrome'
  },

  // Framework to use. Jasmine is recommended.
  framework: 'jasmine2',

  // Spec patterns are relative to the current working directory when
  // protractor is called.
  suites: suiteGlobs,

  mocks: {
    dir: 'tests/e2e/mocks'
  },

  onPrepare: function(){
    require('protractor-http-mock').config = {
        rootDirectory: __dirname, // default value: process.cwd()
        protractorConfig: 'protractor.conf.js', // default value: 'protractor-conf.js'
        dir: 'tests/e2e/mocks/'
    };
    },

  // Options to be passed to Jasmine.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000
  }
};

login.specs.js

`describe('login', function(){
    mock(['auth']);
    it('with wrong credentials', function(){
      browser.get(baseUrl);
      browser.driver.wait(browser.driver.isElementPresent(by.css('.login')));
      element(by.css('.login')).click().then(function () {
        browser.getAllWindowHandles().then(function(handles){
          browser.switchTo().window(handles[1]).then(function(){
            browser.driver.close();
            browser.switchTo().window(handles[0]).then(function(){
                browser.get(baseUrl + 'oauth/callback');
                mock.requestsMade().then(function(requests, one, two){
                  console.log(requests, one , two);
                });
            });
          });
        });
      });
    });
  });`

teste\e2e\mocks\auth.js

`module.exports = {
    request: {
        path: 'oauth.php',
        method: 'GET',
        params: {
            type: 'access_token',
            code: '121212'
        }
    },
    response: {
        data: {
            "token": {
                "access_token": "foo",
                "refresh_token": "bar",
                "expires_in": 3600,
                "token_type": "Bearer"
            }
        },
        status: 500
    }
}
`

output

[12:34:23] I/direct - Using ChromeDriver directly...
[12:34:23] I/launcher - Running 1 instances of WebDriver
Started
[] undefined undefined
.

1 spec, 0 failures
Finished in 7.344 seconds