Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        /// <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);
        }