Skip to content

Commit

Permalink
adds basic test setup
Browse files Browse the repository at this point in the history
  • Loading branch information
Tim van Cleef committed Oct 22, 2021
1 parent 5370489 commit be4b439
Show file tree
Hide file tree
Showing 8 changed files with 3,148 additions and 33 deletions.
2 changes: 2 additions & 0 deletions expensereport-javascript/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules/
coverage/
1 change: 1 addition & 0 deletions expensereport-javascript/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/**
1 change: 1 addition & 0 deletions expensereport-javascript/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
74 changes: 42 additions & 32 deletions expensereport-javascript/Expenses.js
Original file line number Diff line number Diff line change
@@ -1,39 +1,49 @@
const type = {
BREAKFAST: 1,
DINNER: 2,
CAR_RENTAL: 3,
BREAKFAST: 1,
DINNER: 2,
CAR_RENTAL: 3,
};

function printReport(expenses) {
let total = 0;
let mealExpenses = 0;

process.stdout.write("Expenses " + new Date().toISOString().slice(0, 10) + "\n");

for (const expense of expenses) {
if (expense.type == type.DINNER || expense.type == type.BREAKFAST) {
mealExpenses += expense.amount;
}

let expenseName;
switch (expense.type) {
case type.DINNER:
expenseName = "Dinner";
break;
case type.BREAKFAST:
expenseName = "Breakfast";
break;
case type.CAR_RENTAL:
expenseName = "Car Rental";
break;
}

const mealOverExpensesMarker = ((expense.type == type.DINNER && expense.amount > 5000) || (expense.type == type.BREAKFAST && expense.amount > 1000)) ? "X" : " ";

process.stdout.write(expenseName + "\t" + expense.amount + "\t" + mealOverExpensesMarker);
total += expense.amount;
let total = 0;
let mealExpenses = 0;

process.stdout.write(
"Expenses " + new Date().toISOString().slice(0, 10) + "\n"
);

for (const expense of expenses) {
if (expense.type == type.DINNER || expense.type == type.BREAKFAST) {
mealExpenses += expense.amount;
}

let expenseName;
switch (expense.type) {
case type.DINNER:
expenseName = "Dinner";
break;
case type.BREAKFAST:
expenseName = "Breakfast";
break;
case type.CAR_RENTAL:
expenseName = "Car Rental";
break;
}

process.stdout.write("Meal expenses: " + mealExpenses);
process.stdout.write("Total expenses: " + total);
const mealOverExpensesMarker =
(expense.type == type.DINNER && expense.amount > 5000) ||
(expense.type == type.BREAKFAST && expense.amount > 1000)
? "X"
: " ";

process.stdout.write(
expenseName + "\t" + expense.amount + "\t" + mealOverExpensesMarker
);
total += expense.amount;
}

process.stdout.write("Meal expenses: " + mealExpenses);
process.stdout.write("Total expenses: " + total);
}

module.exports = { printReport };
3 changes: 3 additions & 0 deletions expensereport-javascript/Expenses.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
describe("Expenses", () => {
test.todo("write some tests");
});
4 changes: 3 additions & 1 deletion expensereport-javascript/Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
.PHONY: all
.PHONY: all test
all:
node Expenses.js
test:
npm run test
Loading

0 comments on commit be4b439

Please sign in to comment.