-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
Hi,
I'm trying to use ng-apimock with Protractor in an Ionic project. After a few false starts, I think I'm almost there, but I'm getting the error Could not select scenario [get-single-case] thrown when trying to use my mocks.
Here's my protractor.conf.js:
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
});
var ngApimock = require('ng-apimock')();
ngApimock.run({
"src": "e2e/mocks",
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
browser.ngApimock = require('../.tmp/mocks/protractor.mock.js');
},
ngApimockOpts: {
angularVersion: 6,
hybrid: false
}
};And here's a mock:
{
"expression": "/cases/fdaacd04-7125-117a-ac6d-45a68b1d5de1",
"method": "GET",
"name": "case",
"responses": {
"get-single-case": {
"default": true,
"status": 200,
"data": {
...
}
}
}
}(I've left the actual data out for brevity)
And here's my tests:
import { CasePage } from './case.po';
import { browser, ExpectedConditions, $ } from 'protractor';
describe('Case information', () => {
let page: CasePage;
beforeEach(() => {
browser['ngApimock'].selectScenario('case', 'get-single-case');
page = new CasePage();
page.get();
});
describe('Listing cases', () => {
it('should list cases', () => {
var cases = page.getListofCases();
expect(cases.count()).toEqual(20);
});
});
describe('Show case detail', () => {
it('should show case information', () => {
page.clickFirstCase().then(function() {
expect(page.getHeaderText()).toMatch(/Visit details/);
});
})
});
});
Any help would be appreciated!
Metadata
Metadata
Assignees
Labels
No labels