1 import Person from '../Person';
2 import TaxReturn from '../TaxReturn';
4 import Form1040, { FilingStatus, Schedule2 } from './Form1040';
5 import Form1099DIV from './Form1099DIV';
6 import Form1099INT from './Form1099INT';
7 import Form8959 from './Form8959';
8 import FormW2 from './FormW2';
10 test('w2 wages', () => {
11 const pa = Person.self('A');
12 const pb = Person.spouse('B');
13 const tr = new TaxReturn(2019);
14 tr.addForm(new FormW2({
21 tr.addForm(new FormW2({
28 const f1040 = new Form1040({ filingStatus: FilingStatus.MarriedFilingJoint });
30 tr.addForm(new Schedule2);
31 tr.addForm(new Form8959);
32 expect(f1040.getValue(tr, '1')).toBe(1000036.32);
33 f1040.getValue(tr, '23');
36 test('interest income', () => {
37 const p = Person.self('A');
38 const tr = new TaxReturn(2019);
39 tr.addForm(new Form1099INT({
45 tr.addForm(new Form1099INT({
52 const f1040 = new Form1040();
55 expect(f1040.getValue(tr, '2a')).toBe(95);
56 expect(f1040.getValue(tr, '2b')).toBe(103.5);
59 test('dividend income', () => {
60 const p = Person.self('A');
61 const tr = new TaxReturn(2019);
62 const f1099div = new Form1099DIV({
65 ordinaryDividends: 100,
66 qualifiedDividends: 75,
72 const f1040 = new Form1040();
75 expect(f1040.getValue(tr, '3a')).toBe(75 * 2);
76 expect(f1040.getValue(tr, '3b')).toBe(200);