Skip to content
This repository has been archived by the owner on Oct 15, 2019. It is now read-only.

Commit

Permalink
Merge pull request #1 from receipts/updated-model-and-enums
Browse files Browse the repository at this point in the history
Updated models and enums
  • Loading branch information
Zenedith committed Nov 1, 2015
2 parents 507b536 + 9b4adb5 commit ac4ac67
Show file tree
Hide file tree
Showing 12 changed files with 155 additions and 72 deletions.
4 changes: 4 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ module.exports = {
ServiceUnavailableError: require('./lib/error/serviceUnavailableError').ServiceUnavailableError,
UnauthorizedUserError: require('./lib/error/unauthorizedUserError').UnauthorizedUserError
},
enum: {
Brand: require('./lib/model/brand').Brand,
Currency: require('./lib/model/currency').Currency
},
model: {
/**
* the ticketRequest model and builder.
Expand Down
18 changes: 18 additions & 0 deletions lib/model/brand.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
var Brand = {
HAIRDRESSING: 'HAIRDRESSING',
OTHER: 'OTHER',

getBrand: function (type) {

if (this.hasOwnProperty(type)) {
return Brand[type];
}

return Brand.OTHER;
}
};


module.exports = {
Brand: Brand
};
18 changes: 18 additions & 0 deletions lib/model/currency.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
var Currency = {
PLN: 'PLN',
UNKNOWN: 'UNKNOWN',

getCurrency: function (type) {

if (this.hasOwnProperty(type)) {
return Currency[type];
}

return Currency.UNKNOWN;
}
};


module.exports = {
Currency: Currency
};
16 changes: 8 additions & 8 deletions lib/model/request/ticketRequest.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
var TicketRequest = function TicketRequest(pointOfSale, purchaseOrderNumber, amount, date, taxRegistrationNumber, phone, trade, agreements, email) {
var TicketRequest = function TicketRequest(pointOfSale, purchaseOrderNumber, amount, date, taxRegistrationNumber, trade, phone, agreements, email) {
this.pointOfSale = pointOfSale;
this.purchaseOrderNumber = purchaseOrderNumber;
this.amount = amount;
this.date = date;
this.taxRegistrationNumber = taxRegistrationNumber;
this.phone = phone;
this.trade = trade;
this.phone = phone;
this.agreements = agreements;
this.email = email;
};
Expand All @@ -16,8 +16,8 @@ var TicketRequestBuilder = function TicketRequestBuilder() {
this.amount = null;
this.date = null;
this.taxRegistrationNumber = null;
this.phone = null;
this.trade = null;
this.phone = null;
this.agreements = null;
this.email = null;

Expand Down Expand Up @@ -48,13 +48,13 @@ var TicketRequestBuilder = function TicketRequestBuilder() {
return self;
};

this.withPhone = function withPhone(phone) {
self.phone = phone;
this.withTrade = function withTrade(trade) {
self.trade = trade;
return self;
};

this.withTrade = function withTrade(trade) {
self.trade = trade;
this.withPhone = function withPhone(phone) {
self.phone = phone;
return self;
};

Expand All @@ -76,8 +76,8 @@ var TicketRequestBuilder = function TicketRequestBuilder() {
self.amount,
self.date,
self.taxRegistrationNumber,
self.phone,
self.trade,
self.phone,
self.agreements,
self.email
);
Expand Down
28 changes: 10 additions & 18 deletions lib/model/response/ticketResponse.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
var TicketResponse = function TicketResponse(id, purchaseOrderNumber, amount, date, createdAt, updatedAt) {
var TicketResponse = function TicketResponse(id, code, purchaseOrderNumber, amount, date) {
this.id = id;
this.code = code;
this.purchaseOrderNumber = purchaseOrderNumber;
this.amount = amount;
this.date = date;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
};

var TicketResponseBuilder = function TicketResponseBuilder() {
this.id = null;
this.code = null;
this.purchaseOrderNumber = null;
this.amount = null;
this.date = null;
this.createdAt = null;
this.updatedAt = null;

var self = this;

Expand All @@ -22,6 +20,11 @@ var TicketResponseBuilder = function TicketResponseBuilder() {
return self;
};

this.withCode = function withCode(code) {
self.code = code;
return self;
};

this.withPurchaseOrderNumber = function withPurchaseOrderNumber(purchaseOrderNumber) {
self.purchaseOrderNumber = purchaseOrderNumber;
return self;
Expand All @@ -37,25 +40,14 @@ var TicketResponseBuilder = function TicketResponseBuilder() {
return self;
};

this.withCreatedAt = function withCreatedAt(createdAt) {
self.createdAt = createdAt;
return self;
};

this.withUpdatedAt = function withUpdatedAt(updatedAt) {
self.updatedAt = updatedAt;
return self;
};


this.build = function build() {
return new TicketResponse(
self.id,
self.code,
self.purchaseOrderNumber,
self.amount,
self.date,
self.createdAt,
self.updatedAt
self.date
);
};

Expand Down
15 changes: 8 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"name": "receipts-model",
"version": "0.5.2",
"version": "0.5.3",
"description": "Receipts model.",
"main": "./index.js",
"dependencies": {
"assert-plus": "^0.1.5",
"async": "^1.4.2",
"winston": "^1.1.1",
"winston-loggly": "^1.1.0"
"async": "^1.5.0",
"winston": "^2.0.0",
"winston-loggly": "^1.2.0"
},
"devDependencies": {
"chai": "^3.3.0",
"chai": "^3.4.0",
"istanbul": "^0.4.0",
"mocha": "^2.3.3"
},
Expand All @@ -28,6 +28,7 @@
"url": "https://github.com/receipts/npm-receipts-model/issues"
},
"keywords": [
"tickets",
"receipts",
"lottery"
],
Expand All @@ -41,6 +42,6 @@
"node": ">=0.10.0"
},
"readmeFilename": "README.md",
"_id": "receipts-model@0.5.2",
"_from": "receipts-model@^0.5.2"
"_id": "receipts-model@0.5.3",
"_from": "receipts-model@^0.5.3"
}
41 changes: 18 additions & 23 deletions swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -135,70 +135,65 @@ definitions:
properties:
id:
type: string
description: Id
description: Ticekt id
code:
type: string
description: ticket code number
purchaseOrderNumber:
type: string
description: purchase order number
description: ticket purchase order number
amount:
$ref: "#/definitions/AmountResponse"
description: amount
description: ticket amount
date:
type: string
description: date
createdAt:
type: string
description: createdAt
updatedAt:
type: string
description: updatedAt
description: ticket generate date
required:
- id
- purchaseOrderNumber
- amount
- date
- createdAt
- updatedAt
TicketRequest:
properties:
pointOfSale:
type: string
description: point of sale
description: ticket point of sale
purchaseOrderNumber:
type: string
description: purchase order number
description: ticket purchase order number
amount:
$ref: "#/definitions/AmountResponse"
description: amount
description: ticket amount
date:
type: string
description: date
description: ticket generate date
taxRegistrationNumber:
type: string
description: tax registration number
phone:
type: string
description: phone
description: ticket tax registration number
trade:
type: string
description: Type of trade
default: OTHER
enum:
- OTHER
- HAIRDRESSING
phone:
type: string
description: user phone
agreements:
$ref: "#/definitions/AgreementsRequest"
description: agreements
description: user agreements
email:
type: string
description: email
description: user email
required:
- pointOfSale
- purchaseOrderNumber
- amount
- date
- taxRegistrationNumber
- phone
- trade
- phone
- agreements
- email
LotteryTicketsCollectionResponse:
Expand Down
14 changes: 14 additions & 0 deletions test/indexTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,20 @@ describe('index test', function () {
done();
});

it('should export Brand enum', function (done) {

var Brand = index.enum.Brand;
should.exist(Brand);
done();
});

it('should export Currency enum', function (done) {

var Currency = index.enum.Currency;
should.exist(Currency);
done();
});

it('should export amountResponse', function (done) {

var amountResponse = index.model.amountResponse;
Expand Down
23 changes: 23 additions & 0 deletions test/model/brandTest.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
var chai = require('chai');
var should = chai.should();
var Brand = require('../../lib/model/brand').Brand;

describe('brand enum test', function () {

it('should get brand', function (done) {
var brand = Brand.getBrand('HAIRDRESSING');

should.exist(brand);
brand.should.be.equal(Brand.HAIRDRESSING);
done();
});

it('should get OTHER brand for unknown value', function (done) {
var brand = Brand.getBrand('unknown-value');

should.exist(brand);
brand.should.be.equal(Brand.OTHER);
done();
});

});
23 changes: 23 additions & 0 deletions test/model/currencyTest.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
var chai = require('chai');
var should = chai.should();
var Currency = require('../../lib/model/currency').Currency;

describe('currency enum test', function () {

it('should get currency', function (done) {
var currency = Currency.getCurrency('PLN');

should.exist(currency);
currency.should.be.equal(Currency.PLN);
done();
});

it('should get UNKNOWN currency for unknown value', function (done) {
var currency = Currency.getCurrency('unknown-value');

should.exist(currency);
currency.should.be.equal(Currency.UNKNOWN);
done();
});

});
Loading

0 comments on commit ac4ac67

Please sign in to comment.