public void Can_read_the_changed_fields_from_alert_xml_block() { // Arrange var alertMessage = TestData.DummyWorkItemChangedAlertXml(); // act var actual = EventXmlHelper.GetWorkItemChangedAlertFields(alertMessage); // assert Assert.AreEqual(4, actual.Count); Assert.AreEqual("Microsoft.VSTS.Common.StackRank", actual[1].ReferenceName); Assert.AreEqual(string.Empty, actual[1].OldValue); Assert.AreEqual("1", actual[1].NewValue); }
public void Can_read_changed_fields_when_value_set_to_null() { // Arrange var alertMessage = TestData.DummyAlertXmlWithNullFieldValue(); // act var actual = EventXmlHelper.GetWorkItemChangedAlertFields(alertMessage); // assert Assert.AreEqual(1, actual.Count); Assert.AreEqual("Bm.CustomField1", actual[0].ReferenceName); Assert.AreEqual("s1", actual[0].OldValue); Assert.AreEqual(string.Empty, actual[0].NewValue); }
/// <summary> /// Sends an email based on a template /// </summary> /// <param name="workItemId">The work item ID</param> /// <param name="templatePath">Path to the email template</param> /// <param name="dumpAllWorkItemFields">If true appends all work item fields to the email</param> /// <param name="dumpAllAlertFields">If true appends all alert fields to the email</param> /// <param name="showMissingFieldNames">If true adds error messages for incorrect field names</param> public void SendEmail(int workItemId, string templatePath, bool dumpAllWorkItemFields, bool dumpAllAlertFields, bool showMissingFieldNames) { // Get this list of changes var alertItems = EventXmlHelper.GetWorkItemChangedAlertFields(this.eventXml); var changedBy = EventXmlHelper.GetChangedBy(this.eventXml); // Create a new Tfs helper var fieldLookupProvider = new TfsFieldLookupProvider( this.iTfsProvider.GetWorkItem(workItemId), alertItems, changedBy, showMissingFieldNames); // Process the email using a template this.iEmailProvider.SendEmailAlert( fieldLookupProvider, templatePath, dumpAllWorkItemFields, dumpAllAlertFields); }