Skip to content

Commit

Permalink
chore(pairs): convert pairs specs to run mode (#6923)
Browse files Browse the repository at this point in the history
  • Loading branch information
tmair committed Apr 17, 2022
1 parent 33cb63c commit 1e0103f
Showing 1 changed file with 36 additions and 23 deletions.
59 changes: 36 additions & 23 deletions spec/observables/pairs-spec.ts
@@ -1,43 +1,56 @@
/** @prettier */
import { expect } from 'chai';
import { expectObservable } from '../helpers/marble-testing';
import { TestScheduler } from 'rxjs/testing';
import { pairs } from 'rxjs';

declare const rxTestScheduler: TestScheduler;
import { observableMatcher } from '../helpers/observableMatcher';

describe('pairs', () => {
let rxTestScheduler: TestScheduler;

beforeEach(() => {
rxTestScheduler = new TestScheduler(observableMatcher);
});

it('should create an observable emits key-value pair', () => {
const e1 = pairs({a: 1, b: 2}, rxTestScheduler);
const expected = '(ab|)';
const values = {
a: ['a', 1],
b: ['b', 2]
};

expectObservable(e1).toBe(expected, values);
rxTestScheduler.run(({ expectObservable }) => {
const e1 = pairs({ a: 1, b: 2 });
const expected = '(ab|)';
const values = {
a: ['a', 1],
b: ['b', 2],
};

expectObservable(e1).toBe(expected, values);
});
});

it('should create an observable without scheduler', (done) => {
let expected = [
['a', 1],
['b', 2],
['c', 3]
['c', 3],
];

pairs({a: 1, b: 2, c: 3}).subscribe({ next: x => {
expect(x).to.deep.equal(expected.shift());
}, error: x => {
done(new Error('should not be called'));
}, complete: () => {
expect(expected).to.be.empty;
done();
} });
pairs({ a: 1, b: 2, c: 3 }).subscribe({
next: (x) => {
expect(x).to.deep.equal(expected.shift());
},
error: (x) => {
done(new Error('should not be called'));
},
complete: () => {
expect(expected).to.be.empty;
done();
},
});
});

it('should work with empty object', () => {
const e1 = pairs({}, rxTestScheduler);
const expected = '|';
rxTestScheduler.run(({ expectObservable }) => {
const e1 = pairs({});
const expected = '|';

expectObservable(e1).toBe(expected);
expectObservable(e1).toBe(expected);
});
});
});

0 comments on commit 1e0103f

Please sign in to comment.