public void testRunReport() throws Exception { MockMartusApp app = MockMartusApp.create(); app.getLocalization().setCurrentLanguageCode(MiniLocalization.ENGLISH); app.loadSampleData(); BulletinStore store = app.getStore(); ReportFormat rf = new ReportFormat(); rf.setDetailSection("$i. $bulletin.localId\n"); ReportOutput result = new ReportOutput(); Set leafUids = store.getAllBulletinLeafUids(); SortableBulletinList list = new SortableBulletinList(app.getLocalization(), new MiniFieldSpec[0]); Iterator it = leafUids.iterator(); while (it.hasNext()) { DatabaseKey key = DatabaseKey.createLegacyKey((UniversalId) it.next()); list.add(BulletinLoader.loadFromDatabase(store.getDatabase(), key, app.getSecurity())); } RunReportOptions options = new RunReportOptions(); rr.runReport( rf, store.getDatabase(), list, result, options, PoolOfReusableChoicesLists.EMPTY_POOL); result.close(); StringBuffer expected = new StringBuffer(); UniversalId[] uids = list.getSortedUniversalIds(); for (int i = 0; i < uids.length; ++i) { expected.append(Integer.toString(i + 1)); expected.append(". "); expected.append(uids[i].getLocalId()); expected.append("\n"); } assertEquals(new String(expected), result.getPageText(0)); }
public void testCustomField() throws Exception { FieldSpec[] specs = new FieldSpec[] { FieldSpec.createStandardField("date", new FieldTypeDate()), FieldSpec.createStandardField("text", new FieldTypeNormal()), FieldSpec.createStandardField("multi", new FieldTypeMultiline()), FieldSpec.createStandardField("range", new FieldTypeDateRange()), FieldSpec.createStandardField("bool", new FieldTypeBoolean()), FieldSpec.createStandardField("language", new FieldTypeLanguage()), LegacyCustomFields.createFromLegacy("custom,Custom <label>"), }; MockMartusApp app = MockMartusApp.create(); app.getLocalization().setCurrentLanguageCode(MiniLocalization.ENGLISH); Bulletin b = new Bulletin(app.getSecurity(), new FieldSpecCollection(specs), new FieldSpecCollection()); String sampleCustomData = "Robert Plant"; b.set("custom", sampleCustomData); b.setAllPrivate(false); app.saveBulletin(b, app.getFolderDraftOutbox()); SortableBulletinList list = new SortableBulletinList(app.getLocalization(), new MiniFieldSpec[0]); list.add(b); ReportFormat rf = new ReportFormat(); rf.setDetailSection("$bulletin.field('custom')"); ReportOutput result = new ReportOutput(); RunReportOptions options = new RunReportOptions(); rr.runReport( rf, app.getStore().getDatabase(), list, result, options, PoolOfReusableChoicesLists.EMPTY_POOL); result.close(); assertEquals(sampleCustomData, result.getPageText(0)); }