Skip to content

Commit

Permalink
補測正負數的狀況
Browse files Browse the repository at this point in the history
這點是從 test coverage 裡看到的: if 代表這個程式會有兩種可能,但是我們
只測到了其中一種可能。補上測試碼之後我發現還是沒有測到,所以才找到了原程
式的 bug (isNegative 定義是會回傳字串,結果回傳的卻是 undefined)。雖然這
個 bug 並不影響程式執行,但是這打破了我們對函數定義的信任,所以必須要修
補。
  • Loading branch information
Ronmi committed Jul 29, 2016
1 parent d92d385 commit 2191d55
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 6 deletions.
1 change: 1 addition & 0 deletions ui/src/components/OrderListEntry.tsx
Expand Up @@ -34,5 +34,6 @@ export default class OrderListEntry extends React.Component<Props, {}> {
if (val < 0) {
return "negative";
}
return "";
}
}
29 changes: 23 additions & 6 deletions ui/test/components/OrderListEntryTest.tsx
Expand Up @@ -9,16 +9,18 @@ import { translate } from "../../src/commons";
describe("<OrderListEntry />", () => {
const date = "2016/07/21 00:00:00";
let d = new Date(date);
let data = { when: d.getTime() / 1000, local: -3300, foreign: 100, code: "USD" };
let wrapper = shallow(<OrderListEntry data={data} />);

it("has a tr with 5 td.", () => {
let data = { when: d.getTime() / 1000, local: -3300, foreign: 100, code: "USD" };
let wrapper = shallow(<OrderListEntry data={data} />);
expect(wrapper.find("tr")).to.have.length(1);
expect(wrapper.find("td")).to.have.length(5);
expect(wrapper.find("tr td")).to.have.length(5);
});

describe("time column", () => {
let data = { when: d.getTime() / 1000, local: -3300, foreign: 100, code: "USD" };
let wrapper = shallow(<OrderListEntry data={data} />);
let t = wrapper.find("td.time");

it("exists.", () => {
Expand All @@ -30,6 +32,8 @@ describe("<OrderListEntry />", () => {
});

describe("currency name", () => {
let data = { when: d.getTime() / 1000, local: -3300, foreign: 100, code: "USD" };
let wrapper = shallow(<OrderListEntry data={data} />);
let t = wrapper.find("td.currency");

it("exists.", () => {
Expand All @@ -41,6 +45,8 @@ describe("<OrderListEntry />", () => {
});

describe("foreign currency column", () => {
let data = { when: d.getTime() / 1000, local: -3300, foreign: 100, code: "USD" };
let wrapper = shallow(<OrderListEntry data={data} />);
let t = wrapper.find("td.foreign");

it("exists.", () => {
Expand All @@ -49,23 +55,34 @@ describe("<OrderListEntry />", () => {
it("contains correct number.", () => {
expect(t.text()).to.equal("100.00");
});
it("adds 'negative' class to the style if value < 0", () => {
let data = { when: d.getTime() / 1000, local: 3300, foreign: -100, code: "USD" };
let wrapper = shallow(<OrderListEntry data={data} />);
expect(wrapper.find("td.foreign").hasClass("negative")).to.be.true;
});
});

describe("local currency column", () => {
let data = { when: d.getTime() / 1000, local: 3300, foreign: -100, code: "USD" };
let wrapper = shallow(<OrderListEntry data={data} />);
let t = wrapper.find("td.local");

it("exists.", () => {
expect(t).to.have.length(1);
});
it("contains correct number.", () => {
expect(t.text()).to.equal("-3300");
});
it("denotes a negative number.", () => {
expect(t.hasClass("negative")).to.be.true;
expect(t.text()).to.equal("3300");
});
it("adds 'negative' class to the style if value < 0", () => {
let data = { when: d.getTime() / 1000, local: -3300, foreign: 100, code: "USD" };
let wrapper = shallow(<OrderListEntry data={data} />);
expect(wrapper.find("td.local").hasClass("negative")).to.be.true;
});
});

describe("exchange rate column", () => {
let data = { when: d.getTime() / 1000, local: -3300, foreign: 100, code: "USD" };
let wrapper = shallow(<OrderListEntry data={data} />);
let t = wrapper.find("td.rate");

it("exists.", () => {
Expand Down

0 comments on commit 2191d55

Please sign in to comment.