Skip to content
This repository has been archived by the owner on Oct 16, 2020. It is now read-only.

Commit

Permalink
Select empty view template when model class name typed in does not ma…
Browse files Browse the repository at this point in the history
…tch any model class.
  • Loading branch information
mrward committed Sep 20, 2011
1 parent fa5c796 commit 8b891da
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class AddMvcViewToProjectViewModel : ViewModelBase<AddMvcViewToProjectVie
bool isSelectMasterPageViewOpen;
MvcProjectFile selectedMasterPage;
string masterPageFile = String.Empty;
List<MvcViewTextTemplate> viewTemplates;
List<MvcViewTextTemplate> viewTemplates = new List<MvcViewTextTemplate>();
MvcViewTextTemplate selectedViewTemplate;
MvcModelClassViewModelsForSelectedFolder modelClassesForSelectedFolder;
MvcModelClassViewModel selectedModelClass;
Expand Down Expand Up @@ -317,6 +317,9 @@ public MvcModelClassViewModel SelectedModelClass {
get { return selectedModelClass; }
set {
selectedModelClass = value;
if (selectedModelClass == null) {
SelectDefaultViewTemplate();
}
OnPropertyChanged(viewModel => viewModel.SelectedModelClass);
OnPropertyChanged(viewModel => viewModel.IsViewTemplateEnabled);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1363,5 +1363,30 @@ public void ModelClassName_ModelClassNameTextChangedToMatchSelectedModelClass_Se

Assert.AreEqual(expectedModelClass, selectedModelClass);
}

[Test]
public void ViewTemplates_NonEmptyViewTemplateSelectedWhenUserTypesInModelClassName_EmptyViewTemplateSelected()
{
fakeTextTemplateRepository = new FakeMvcTextTemplateRepository();

var templateB = new MvcViewTextTemplate(@"d:\templates\B.tt");
fakeTextTemplateRepository.ViewTextTemplates.Add(templateB);

var emptyTemplate = new MvcViewTextTemplate(@"d:\templates\Empty.tt");
fakeTextTemplateRepository.ViewTextTemplates.Add(emptyTemplate);

CreateViewModelWithViewFolderPath(@"d:\myproject\views", fakeTextTemplateRepository);
AddModelClassToProject("ICSharpCode.MyProject", "MyModel");

viewModel.IsStronglyTypedView = true;
MvcModelClassViewModel expectedModelClass = viewModel.ModelClasses.First();
viewModel.SelectedModelClass = expectedModelClass;
viewModel.SelectedViewTemplate = templateB;
viewModel.ModelClassName = "test";

MvcViewTextTemplate template = viewModel.SelectedViewTemplate;

Assert.AreEqual(emptyTemplate, template);
}
}
}

0 comments on commit 8b891da

Please sign in to comment.