2019-02-21 13:05:05 +00:00
|
|
|
export default function(scenario, assert, currentPage, pluralize) {
|
|
|
|
scenario
|
|
|
|
.then('pause until I see $number $model model[s]?', function(num, model) {
|
|
|
|
return new Promise(function(resolve) {
|
|
|
|
let count = 0;
|
|
|
|
const interval = setInterval(function() {
|
|
|
|
if (++count >= 50) {
|
|
|
|
clearInterval(interval);
|
|
|
|
assert.ok(false);
|
|
|
|
resolve();
|
|
|
|
}
|
|
|
|
const len = currentPage()[pluralize(model)].filter(function(item) {
|
|
|
|
return item.isVisible;
|
|
|
|
}).length;
|
|
|
|
if (len === num) {
|
|
|
|
clearInterval(interval);
|
|
|
|
assert.equal(len, num, `Expected ${num} ${model}s, saw ${len}`);
|
|
|
|
resolve();
|
|
|
|
}
|
|
|
|
}, 100);
|
|
|
|
});
|
|
|
|
})
|
2019-03-07 10:51:39 +00:00
|
|
|
.then(['I see $num $model model[s]?'], function(num, model) {
|
2019-02-21 13:05:05 +00:00
|
|
|
const len = currentPage()[pluralize(model)].filter(function(item) {
|
|
|
|
return item.isVisible;
|
|
|
|
}).length;
|
|
|
|
|
|
|
|
assert.equal(len, num, `Expected ${num} ${pluralize(model)}, saw ${len}`);
|
|
|
|
})
|
|
|
|
// TODO: I${ dont } see
|
|
|
|
.then([`I see $num $model model[s]? with the $property "$value"`], function(
|
|
|
|
// negate,
|
|
|
|
num,
|
|
|
|
model,
|
|
|
|
property,
|
|
|
|
value
|
|
|
|
) {
|
|
|
|
const len = currentPage()[pluralize(model)].filter(function(item) {
|
|
|
|
return item.isVisible && item[property] == value;
|
|
|
|
}).length;
|
|
|
|
assert.equal(
|
|
|
|
len,
|
|
|
|
num,
|
|
|
|
`Expected ${num} ${pluralize(model)} with ${property} set to "${value}", saw ${len}`
|
|
|
|
);
|
|
|
|
});
|
|
|
|
}
|