def test_deleteColumn(self): path = os.path.abspath( os.path.join( os.path.dirname( __file__ ), 'docs/deleteColumn.odt' ) ) outFile = os.path.join( os.path.dirname( __file__ ), 'docs/deleteColumn.out.odt' ) pmm = pyMailMerge( path ) xml = """<tokens> <token> <name>deletecolumn|wanted</name> <value>0</value> </token> <token> <name>deletecolumn|unwanted</name> <value>1</value> </token> <token> <name>deletecolumn|another</name> <value>0</value> </token> </tokens>""" x = pyMailMerge._readParamsFromXML( xml ) pmm._process( x ) pmm.document.refresh() pmm.document.saveAs( outFile ) results = self._getFirstTableData( outFile ) expected = [[ 'First', "Third" ], [ 'A', 'C' ], [ 'D', 'F' ] ] self.assertEqual( expected, results )
def test_deleteRow(self): path = os.path.abspath( os.path.join( os.path.dirname( __file__ ), 'docs/deleteRow.odt' ) ) outFile = os.path.join( os.path.dirname( __file__ ), 'docs/deleteRow.out.odt' ) pmm = pyMailMerge( path ) xml = """<tokens> <token> <name>deleterow|wanted</name> <value>0</value> </token> <token> <name>deleterow|unwanted</name> <value>1</value> </token> <token> <name>deleterow|another</name> <value>0</value> </token> </tokens>""" x = pyMailMerge._readParamsFromXML( xml ) pmm._process( x ) pmm.document.refresh() pmm.document.saveAs( outFile ) results = self._getFirstTableData( outFile ) expected = [[ 'Wanted Row', '', "Send value '0' to keep" ], [ 'Another Wanted', '', "Send value '0' to keep"] ] self.assertEqual( expected, results )
def test_repeatrow_and_repeatcolumn(self): path = os.path.abspath( os.path.join( os.path.dirname( __file__ ), 'docs/repeat_row_and_column.odt' ) ) outFile = os.path.join( os.path.dirname( __file__ ), 'docs/repeat_row_and_column.out.odt' ) pmm = pyMailMerge( path ) f = open( os.path.abspath( os.path.join( os.path.dirname( __file__ ), 'fixtures/repeatrow_and_repeatcolumn.xml' ) ) ) x = pyMailMerge._readParamsFromXML( f.read() ) pmm._process( x ) pmm.document.refresh() pmm.document.saveAs( outFile ) tableData = self._getFirstTableData( outFile ) expectedOutcome = [ [ 'Name', 'name', 'life_benefit', 'life', 'add', 'dep_life', 'crit_illness', 'eap', 'wi_benefit', 'wi', 'ltd_benefit', 'ltd', 'ehb', 'dental', 'total', "Total" ], [u'Test User', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '], [u'Test User 2', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '], [u'', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '], [u'', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '], [u'', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '], [u'', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '], [u'', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '], [u'', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '], [u'', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '], [u'Another User', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' ', u' '] ] self.assertEquals( expectedOutcome, tableData )
def test_repeatrow_test_for_ted(self): path = os.path.abspath( os.path.join( os.path.dirname( __file__ ), 'docs/repeatrow_test_for_ted.odt' ) ) outFile = os.path.join( os.path.dirname( __file__ ), 'docs/repeatrow_test_for_ted.out.odt' ) pmm = pyMailMerge( path ) f = open( os.path.abspath( os.path.join( os.path.dirname( __file__ ), 'fixtures/repeatrow_test_for_ted.xml' ) ) ) x = pyMailMerge._readParamsFromXML( f.read() ) pmm._process( x ) pmm.document.refresh() pmm.document.saveAs( outFile ) tableData = self._getFirstTableData( outFile ) expectedOutcome = [ [ 'Benefit', 'Assurance', 'Financial'], [ 'Life Benefit', ' - ', ' - '], [ 'Officers', '10000', '10000' ], [ 'Owners/Officers/Managers', '10000', '10000' ], [ 'Dental Benefit', ' - ', ' - ' ], [ 'Employees', '10000', '10000' ], [ 'Officers', '10000', '10000' ], [ 'Health Benefit', ' - ', ' - ' ], [ 'Officers', '10000', '10000' ], [ 'LTD Benefit', ' - ', ' - ' ], [ 'Officers', '10000', '10000' ], [ 'Weekly Income Benefit', ' - ', ' - ' ], [ 'Officers', '10000', '10000' ] ] self.assertEquals( expectedOutcome, tableData ) self.assertEquals( 13, len( tableData ) )
def test_readParamsFromXML(self): x = pyMailMerge._readParamsFromXML( self.xml ) self.assertEquals( 'fake::token', x[0]['token'] ) self.assertEquals( 'value1', x[0]['value'] ) self.assertEquals( 'fake::array', x[1]['token'] ) self.assertEquals( 'first', x[1]['value'][0] ) self.assertEquals( 'second', x[1]['value'][1] ) self.assertEquals( 'token::fake', x[2]['token'] ) self.assertEquals( 'value2', x[2]['value'] )
def test_updateChart(self): path = os.path.abspath( os.path.join( os.path.dirname( __file__ ), 'docs/charttest.odt' ) ) outFile = os.path.join( os.path.dirname( __file__ ), 'docs/charttest.out.pdf' ) pmm = pyMailMerge( path ) xml = """<tokens> <token> <name>repeatrow|timeperiod</name> <value>Year - 2009</value> <value>Year - 2010</value> <value>Year - 2011</value> <value>Year - 2012</value> </token> <token> <name>premium</name> <value>$505</value> <value>$1500</value> <value>$1000</value> <value>$1000</value> </token> <token> <name>paidclaims</name> <value>$200</value> <value>$2000</value> <value>$50</value> <value>$3000</value> </token> <token> <name>lossratio</name> <value>34%</value> <value>33%</value> <value>35%</value> <value>35%</value> </token> </tokens>""" x = pyMailMerge._readParamsFromXML( xml ) pmm._process( x ) pmm.document.refresh() pmm.document.saveAs( outFile ) self.assertTrue( True )
def test_calculatorXML(self): fixture = f = open( os.path.abspath( os.path.join( os.path.dirname( __file__ ), 'fixtures/calculator.xml' ) ) ) params = pyMailMerge._readParamsFromXML( fixture.read() ) self.assertEqual( [ { 'token':'title', 'value':'Calculator' } ], params )