raynor-chai
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

Raynor-Chai npm version Build Status Coverage License Dependencies

A chai extension which allows the use of raynor marshallers in assertions.

import * as chai from 'chai'
import { raynorChai } from 'raynor-chai'
 
class User {
    @MarshalWith(StringMarshaller)
    name: string;
    @MarshalWith(ArrayOf(IntegerMarshaller))
    scoresByDay: number[];
 
    totalScore(): number {
        return this.scoresByDay.reduce((a,b) => a + b, 0);
    }
}
 
chai.use(raynorChai);
 
const user = new User();
user.name = 'Raynor';
user.scoresByDay = [10, 20, 30];
 
chai.expect(user).to.be.raynor(new (MarshalFrom(User))()); // Assertion passes
 
const badUser = new User();
badUser.name = 'Raynor';
badUser.scoresByDay = [10, 20.5, 30];
 
chai.expect(badUSer).to.not.be.raynor(new (MarshalFrom(User))()); // Assertion passes

Package Sidebar

Install

npm i raynor-chai

Weekly Downloads

1

Version

0.2.1

License

MIT

Unpacked Size

9.22 kB

Total Files

9

Last publish

Collaborators

  • horia141