Apex Test Suites, XML Completion, and New Metadata in Spire R9

The Welkin Suite
Posted by
07 Feb 2017 5094

How about enhancing the range of tasks you can perform in our IDE, to ultimately succeed in Salesforce development a lot faster? Our team has come up with new ways to catalyze your work! Introducing the support of the new Metadata types - Letterhead, Visual Flow and Report Types, which add to the pool of possibilities within The Welkin Suite IDE - and Test Suites, which simplify and accelerate your work with test classes, and more. Dive into exploring our updates! 

Release of The Welkin Suite Spire R9

The Welkin Suite Sandbox

Recently, all of our users got involved in the decision-making process about the further unit-testing improvements in The Welkin Suite - we have sent out a survey designed to help us understand your needs better. As a result, you have given us green light to implement the Quick View functionality in the Test Results panel, while also sharing some cool ideas on how exactly it should be implemented. We have not yet implemented all of them - and yet, below you can see the outcome of our most active users' spending their 5 minutes to answer a couple of questions. 

We invite all of you to participate in our new program called The Welkin Suite Sandbox - a great opportunity for you to share your vision on the future vector of the development of The Welkin Suite. At the same time, this program provides a "highway" that will take your comments about the features which we are going to implement straight to our team. Just join our TWS Sandbox mailing list, and we will every so often send you surveys and news on the newest features that are being developed by our team.

Quick View Survey Results


Quick View

Previously, our Test Results panel in The Welkin Suite was showing all the new test runs collapsed by default. However, such a way of displaying the results required extra actions from you to find the most interesting gems.

What are these gems? Usually, when you are beginning your work on the Salesforce project, all unit tests are passing, however it is absolutely possible that while you are adding new functionality or changing the existing features - some of the unit tests might fail. In this case, you should see these newly failed unit tests first in your Test Results, theoretically without any actions from your side, so you will be able to notice and address these failures almost immediately. From another standpoint, once you start fixing unit tests, you should also see which tests you have successfully fixed first.

"Quick View" is an option that allows you to see the important information in the Test Results list without any additional actions from your side. This feature will show you the classes with certain results expanded immediately after a test run is completed. All the other ones will be hidden under the "Show all" button.

Quick View Test Results

The types of results that can be differentiated are:

  • Passed recently (but failed in the previous test run)
  • Failed recently (but was successful in the previous run)
  • Failed previously (failed in the previous test run as well)
  • Passed previously (was successful in the previous run as well)

Considering the suggestions from our users, we have enabled this feature by default. At that, the default results categories include 'passed recently' and 'failed recently'. However, if these are not the most preferable settings for your development flow, or for you current Salesforce project, you can easily change them, and have the necessary types of results displayed. To do this, just click on the 'Settings' button in the Test Results panel, and configure which categories should be included in the Quick View by default, or even turn off this feature by deselecting all categories.

Test Results Settings Window

We are sure that this improvement will help you keep your Salesforce Unit Tests green at all times, with even less effort than before.

New supported metadata: Letterhead, Report Types, Visual Flow

To extend the set of possibilties for working with your Salesforce Organization in The Welkin Suite, we have implemented the support for the following metadata types in Spire R9: Letterhead, Report Type, and Visual Flow.


The Letterhead metadata type will help you during your working process with Email Templates.

This metadata type determines the main components of formatting data for email templates. For example, text settings, color, logo, address, etc. You can use one or several letterheads for your HTML email templates, and all of them can now be added to your TWS project.

You can pull these files from Salesforce, edit, and deploy them directly within the IDE, without switching to any other application.

Report Type

The next metadata type that The Welkin Suite now supports - Reports - will help you to extend your work with custom reports. It describes the records that are available in your report, and which can be added to your report. A report type defines the criteria for the visible records in a report as well.  

On you Salesforce Organisation, you can use the standard report types that are associated with a standard object as a primary object for your report. Alternately, you can create your own report type with all the necessary settings.

TWS allows you to pull the Report Types from your Salesforce Organization, modify them, and update on the server using the 'Deploy objects' option.

Visual Flow

It is very convenient to set a flow for your business processes on your Salesforce Organization. You can create an automated application with a predefined set of logical executions associated with your database. Pursuing this approach contributes to the interactive collaboration between you or your users and Salesforce. The Welkin Suite Spire R9 gives you a possibility to work with the created Visual flows in a frame of your TWS project.

You can download your Visual Flows to a new TWS project, or add them to an existing one using the pull from Salesforce. After editing, you can deploy the changed files to your Organization, and continue your working process.

We are going to increase the list of the supported metadata in the IDE step by step, so your suggestions can play the major role in determining the priority for adding the new metadata types. 

XML Completion for sObjects and Custom Tabs

We all know that Code Completion functionality is a great helper in the development process. It saves your time, improves your coding velocity, helps to avoid mistakes, and much more. This is why we are going to implement XML Completion for all metadata types, in addition to code completion that is already featured in our IDE, and which we are currently improving. Right now, you can start using the XML Completion for sObjects and Custom Tabs in your TWS project.

When you start typing in these files, right after clicking the '<' symbol, you will get the list of the possible tags in suggestions according to your current context. After clicking the closing bracket '>', the closing tag will be placed automatically, and your cursor will be located inside it, so you can enter the necessary value, or select it from the suggestions list. For instance, if you type in the tag with the exact set of possible values inside, say, the <encrypted> tag, the Code Completion suggestion with 'true' or 'false' values will immediately appear. 

We have handled a lot of Salesforce rules and limitations, and that is why, for example, you won't get the completion suggestions tags, which were already used, and which should appear only once throughout the file. Furthermore, all suggestion are supplemented with hints that indicate where the description for each item is present.

XML Completion Suggestions

The next important thing related to the XML Completion in sObjects and Custom Tabs is related to errors. We have implemented real-time verification for your code inside these files. For example, if you are going to create a custom tab file, and any of the required fields is absent, you will get the appropriate warning about this in the Error list, and after editing the file, the warning will be changed, or will disappear.

Compilation Errors XML Message

All the other warnings will appear in the Error List according to your coding as well.

Test Suites            

When you are working with some separate test classes from time to time, and you need to run the same set of these classes repeatedly, having all of them in a saved list helps a lot. Beginning from Spire R9, you don't need to select the same tests or methods in the whole list that Salesforce returns to the IDE - just create a test suite, and run the same tests in several clicks.

Test suites creation and editing

All the actions related to the creation of new test suites, and to editing the existing ones are available for you in the 'Test Suites Manager'. You can open it in the 'Test' menu, or using the 'Ctrl+R, Ctrl+M' hotkey. Also, you can access it from the Test Results panel -> Run -> 'Test Suites' tab -> 'Open Test Suites Manager' link.

Le's create your first test suite! Select the name of your project, click 'Create' at the lower part of the Test Suites Manager, and you will get the 'Create new test suite' dialog.

Create New Test Suite Window

Then, the list of all the tests from your Salesforce Organization will appear. You can select tests for your test suite one by one, by scrolling the list, by using the 'Select all' or 'Select none' option, or by simply searching for the needed tests using the filter that is also available for you here. You can create an empty test suite by specifying only its name, and add tests to it later. 

In addition, there is the field for the name of your test suite. We would like to draw your attention to the fact that there are several rules for this name: it can contain alphanumeric symbols and underscores, but should not include spaces and should not end with an underscore, should begin with a letter, and be unique. 

When your test suite is created, you will see it in the list in the Test Suites Manager. The number of the included tests will be indicated near the name, and the list of these tests is available in the lower part of the dialog.

Test Suites Manager Window

Later you can manage your test suites using the next options:

  • Edit tests: the option gives you a possibility to add tests to an existing test suite, or remove them;
  • Run: you can run the selected test suite directly from the Test Suites Manager;
  • Rename: the option allows you to change the name of a test suite; please remember that the name should be unique;
  • Clone: using this option, you will get the duplicated test suite with the edited name and the word 'Clone' at the end of the name; the test suite will contain the same list of tests as the parent one;
  • Delete: this option deletes your test suite from the project.

Running test suites

After you create the necessary test suites, in addition to the list in the 'Test Suites' in the Test Suites Manager, all of your test suites are featured in the 'Run tests' wizard in the separate tab - 'Test suites'. You can get access to this list in the following ways:

  • in the 'Test Results' panel, click on the 'Run' icon, and the wizard will appear; select the 'Test suites' tab, and continue your working process with a set of your tests;
  • in the Main Menu -> Tests, you can find the newly added item - 'Run test suites'; after clicking on it, the 'Run tests' wizard will be opened also, and the necessary panel will be already active;
  • use the 'Ctrl+R, Ctrl+S' hotkey to get the list of your test suites.

We would like to point out that you can select which tab ('Unit tests' or 'Test suites') should be opened by default in the 'Run tests' wizard. Please open Main Menu -> Tools -> Options -> Test, and change this option to the preferable one.

Run Tests Window for Test Suites

In the Test suites list, you will see all of your created sets of tests. You can expand each of them to see the added tests before running.

To run the necessary test suite, please select it in the list, and click 'Run tests' button. After this, a usual test run job with a set of tests will start, and you can check its status in the Test Result panel. Also, you can run several test suites by enabling the checkboxes for each of them. In case some test suites contain the same classes, they will only be run once.

Other Changes

We've received a lot of great feedback from you about the enhanced SOQL Executor, which we released in Spire R8 version of The Welkin Suite. This time, we have improved it to add some more possibilities. Starting from Spire R9, you can copy the data from SOQL query results. Just select the necessary cells, click the right mouse button, and choose the 'Copy' option. TWS provides you with an option to copy the following sets of data:

  • one or more separate cells;
  • entire spreadsheet;
  • one or more columns;
  • one or more rows

Also, we have added the information about types for the fields in Child Relationships in the Shema Explorer, which are available in the SOQL query builder. 

Child Relationships for Field Type

In terms of this work on the SOQL Executor, we have solved the UI issue when, after the previous query execution, the columns from the results stayed in the result table if your new query had no results.

The additional option to export or import Salesforce setting is implemented for sObjects FLS Inspector. In case you have to apply the same Field Level Security settings, for example, to several Organizations, this option will save your lots of time. 

The next set of changes was dedicated to TWS installer and logging related to the installation process. We have changed the location of the 'TWS_Installation' log file, and solved the issue with the file not being updated while updating the IDE. Our developers have fixed the case when the installation file stayed locked after any error from the server appeared during TWS updating process, and as a result, the IDE wasn't updated.

We have also fixed the error that you could have been faced with when creating a project - if you selected an empty metadata folder, for example, with the enabled 'Subscribe' option to get the newly created files from Salesforce.

The changed *-meta.xml files were not sent to build in the previous version of The Welkin Suite, and this is why they were not updated on your Salesforce Organization, but now this is fixed.

As for the changes on Salesforce, the modified validation rules in your sObjects were not changed in TWS after pulling. Our developers have solved this issue, and you will now get all the necessary changes.

We have handled several errors related to the exceeded Salesforce tests limit. One of them was related to TWS crashing when you run tests using the 'Run tests from this class' or 'Build and Run Tests' options, when this limit was exceeded. Next, we changed the error message that you get when you run your tests in this case - so now the correct informative message will appear. 

Our developers have solved the issue with forbidden permission settings being present in FLS inspector. This applied in case more than 200 permissions for an object were present.

As usual, you can find the full list of changes at the bottom of the current blog post, or on the Downloads page in TWS Version history.


As always, we are focused on making your life as a developer easier. Therefore, we are strongly concerned about implementing more handy updates in the future, as we already have many scheduled. That being said, we would like to remind you that we are tuned to the voice of the Salesforce community, so if you have any ideas on the new features, we would love to hear them. Just write to us or join our TWS Sandbox program, and let's discuss it!


Full list of changes


  • Added the support for Letterhead metadata
  • Added the support for Report Type metadata
  • Added the support for Visual Flow metadata
  • Implemented XML completion for sObjects 
  • Implemented XML completion for Custom tabs
  • Added an ability to create test suites for Apex unit tests
  • Added Quick Views settings for tests results


  • Implemented an ability to copy the data from the SOQL query results
  • Implemented an ability to export/import FLS settings
  • Added the field types in Child Relationships in the Schema Explorer for SOQL query builder


  • Fixed the issue when changes in validation rules in sObjects were not pulled from Salesforce
  • Fixed the issue when changed *-meta.xml files were not updated on Salesforce
  • Fixed the issue when TWS installation log wasn't updated when updating the IDE
  • Fixed the issue when the installation file stayed locked after an error from the server during TWS updating process
  • Changed the location of TWS installation log file
  • Fixed the error during the project creation when an empty metadata folder was selected for downloading
  • Fixed the issue when the first underscore in file names wasn't displayed in TWS wizards
  • Fixed the issue when Error panel become active after each Anonymous Apex execution
  • Fixed the issue when columns from previous SOQL query execution stayed in the results after new execution had no results
  • Changed the error message about the exceeded Salesforce limit during the run of unit tests in the IDE
  • Fixed TWS crash after using the 'Run tests from this class' or 'Build and Run Tests' options when Salesforce test limit was exceeded
  • Fixed rare cases of displaying the forbidden permissions in FLS inspector
Release of The Welkin Suite Spire R9
The Welkin Suite
Developer friendly Salesforce IDE
Try Now For Free

Your comment may be the first

    Please log in to post a comment

    Boost Your Productivity. Get Started Today

    Try Free Trial