Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- describe("class PaymentPackage", () => {
- it("check if create new instance", () => {
- let obj = new PaymentPackage('a', 1)
- expect(obj).to.be.an.instanceof(PaymentPackage);
- expect(obj._name).to.equal('a')
- expect(obj._value).to.equal(1)
- expect(obj._VAT).to.equal(20)
- expect(obj._active).to.be.a('boolean')
- });
- it("check for a input with one param", () => {
- expect(() =>(new PaymentPackage('a')).to.throw('Value must be a non-negative number'))
- expect(() =>(new PaymentPackage('a', 'a')).to.throw('Value must be a non-negative number'))
- expect(() =>(new PaymentPackage('a', -1)).to.throw('Value must be a non-negative number'))
- expect(() =>(new PaymentPackage(1)).to.throw('Name must be a non-empty string'))
- expect(() =>(new PaymentPackage('', 1)).to.throw('Name must be a non-empty string'))
- });
- it("check all METHODS", () => {
- let obj = new PaymentPackage('a', 10)
- expect(obj).to.have.property('name');
- expect(obj).to.have.property('value');
- expect(obj).to.have.property('VAT');
- expect(obj).to.have.property('active');
- expect(obj).to.have.property('toString');
- });
- it("check name method", () => {
- expect(() =>(new PaymentPackage.name('')).to.throw('Name must be a non-empty string'))
- expect(() =>(new PaymentPackage.name(1)).to.throw('Name must be a non-empty string'))
- expect(() =>(new PaymentPackage.name(true)).to.throw('Name must be a non-empty string'))
- });
- it("check value method", () => {
- expect(() =>(new PaymentPackage.value('')).to.throw('Value must be a non-negative number'))
- expect(() =>(new PaymentPackage.value(-1)).to.throw('Value must be a non-negative number'))
- expect(() =>(new PaymentPackage.value(true)).to.throw('Value must be a non-negative number'))
- });
- it("check VAT method", () => {
- expect(() =>(new PaymentPackage.VAT('')).to.throw('VAT must be a non-negative number'))
- expect(() =>(new PaymentPackage.VAT(-1)).to.throw('VAT must be a non-negative number'))
- expect(() =>(new PaymentPackage.VAT(true)).to.throw('VAT must be a non-negative number'))
- });
- it("check active method", () => {
- expect(() =>(new PaymentPackage.active('')).to.throw('Active status must be a boolean'))
- expect(() =>(new PaymentPackage.active(1)).to.throw('Active status must be a boolean'))
- });
- it("check toString with changes", () => {
- let obj = new PaymentPackage('a', 100)
- obj.active = false
- obj.VAT = 30
- expect(obj.toString()).to.equal('Package: a (inactive)\n- Value (excl. VAT): 100\n- Value (VAT 30%): 130');
- });
- it("check toString without changes", () => {
- let obj = new PaymentPackage('a', 100)
- expect(obj.toString()).to.equal('Package: a\n- Value (excl. VAT): 100\n- Value (VAT 20%): 120');
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement