Example #1
0
 private void ClearSavedRequests(TestApplication app, RecordEntryFormViewModel entryViewmodel)
 {
     if (entryViewmodel.CustomFunctions.Any(cb => cb.Id == "LOADREQUEST"))
     {
         var loadRequestButton = entryViewmodel.GetButton("LOADREQUEST");
         loadRequestButton.Invoke();
         //enter and save details
         var saveRequestForm = app.GetSubObjectEntryViewModel(entryViewmodel);
         var requestsGrid    = saveRequestForm.GetEnumerableFieldViewModel(nameof(SavedSettings.SavedRequests));
         foreach (var item in requestsGrid.GridRecords.ToArray())
         {
             requestsGrid.DynamicGridViewModel.DeleteRow(item);
         }
         saveRequestForm.SaveButtonViewModel.Invoke();
         Assert.IsFalse(entryViewmodel.ChildForms.Any());
         Assert.IsFalse(entryViewmodel.LoadingViewModel.IsLoading);
     }
 }
Example #2
0
        private void RunDialogAndAddMessage(TestApplication testApplication, string message)
        {
            var dialog          = testApplication.NavigateToDialog <ManagePluginTriggersModule, ManagePluginTriggersDialog>();
            var entryViewModel  = testApplication.GetSubObjectEntryViewModel(dialog);
            var triggersSubGrid = entryViewModel.SubGrids.First();

            triggersSubGrid.DynamicGridViewModel.AddRowButton.Invoke();
            var triggerEntryForm = testApplication.GetSubObjectEntryViewModel(entryViewModel);

            foreach (var field in triggerEntryForm.FieldViewModels)
            {
                if (field.ValueObject == null)
                {
                    if (field is LookupFieldViewModel)
                    {
                        var typeFieldViewModel = (LookupFieldViewModel)field;
                        if (field.FieldName == "Message")
                        {
                            typeFieldViewModel.Value = typeFieldViewModel.LookupService.ToLookup(typeFieldViewModel.ItemsSource.First(m => m.Name == message).Record);
                        }
                        else if (typeFieldViewModel.UsePicklist)
                        {
                            typeFieldViewModel.Value = typeFieldViewModel.LookupService.ToLookup(typeFieldViewModel.ItemsSource.First(p => p.Record != null).Record);
                        }
                        ;
                    }
                    if (field is PicklistFieldViewModel)
                    {
                        var typeFieldViewModel = (PicklistFieldViewModel)field;
                        typeFieldViewModel.Value = typeFieldViewModel.ItemsSource.First();
                    }
                    if (field is RecordTypeFieldViewModel)
                    {
                        var typeFieldViewModel = (RecordTypeFieldViewModel)field;
                        typeFieldViewModel.Value = typeFieldViewModel.ItemsSource.First();
                    }
                    if (field.FieldName == nameof(PluginTrigger.FilteringFields) && message == "Update")
                    {
                        var multiSelectField = triggerEntryForm.GetFieldViewModel <RecordFieldMultiSelectFieldViewModel>(nameof(PluginTrigger.FilteringFields));
                        SelectItems(multiSelectField, 1, 2);
                    }
                    if (field.FieldName == nameof(PluginTrigger.PreImageAllFields) && message == "Update")
                    {
                        triggerEntryForm.GetFieldViewModel <BooleanFieldViewModel>(nameof(PluginTrigger.PreImageAllFields)).Value = false;
                    }
                    if (field.FieldName == nameof(PluginTrigger.PreImageFields) && message == "Update")
                    {
                        var multiSelectField = triggerEntryForm.GetFieldViewModel <RecordFieldMultiSelectFieldViewModel>(nameof(PluginTrigger.PreImageFields));
                        SelectItems(multiSelectField, 1, 2);
                    }
                }
            }
            triggerEntryForm.GetPicklistFieldFieldViewModel(nameof(PluginTrigger.Mode)).ValueObject        = PluginTrigger.PluginMode.Asynch;
            triggerEntryForm.GetPicklistFieldFieldViewModel(nameof(PluginTrigger.Stage)).ValueObject       = PluginTrigger.PluginStage.PostEvent;
            triggerEntryForm.GetBooleanFieldFieldViewModel(nameof(PluginTrigger.PreImageAllFields)).Value  = true;
            triggerEntryForm.GetLookupFieldFieldViewModel(nameof(PluginTrigger.SpecificUserContext)).Value = null;
            var filteringAttributesField = triggerEntryForm.GetFieldViewModel <RecordFieldMultiSelectFieldViewModel>(nameof(PluginTrigger.FilteringFields));

            DeselectAll(filteringAttributesField);

            Assert.IsTrue(triggerEntryForm.Validate());
            triggerEntryForm.SaveButtonViewModel.Invoke();

            Assert.IsTrue(entryViewModel.Validate());
            entryViewModel.SaveButtonViewModel.Invoke();

            var response = dialog.CompletionItem as ManagePluginTriggersResponse;

            Assert.IsFalse(response.HasError);
        }