Skip to content

Commit

Permalink
Fixes #2052 renaming uses the wrong type (#2056)
Browse files Browse the repository at this point in the history
  • Loading branch information
msevestre authored Jan 17, 2022
1 parent be6a081 commit 16c1f00
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
4 changes: 3 additions & 1 deletion src/PKSim.Presentation/DTO/Core/RenameObjectDTOFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ public class RenameObjectDTOFactory : OSPSuite.Presentation.DTO.RenameObjectDTOF
{
private readonly IPKSimProjectRetriever _projectRetriever;

public RenameObjectDTOFactory(IPKSimProjectRetriever projectRetriever, IObjectTypeResolver objectTypeResolver) : base(projectRetriever, objectTypeResolver)
public RenameObjectDTOFactory(
IPKSimProjectRetriever projectRetriever,
IObjectTypeResolver objectTypeResolver) : base(projectRetriever, objectTypeResolver)
{
_projectRetriever = projectRetriever;
}
Expand Down
7 changes: 5 additions & 2 deletions src/PKSim.Presentation/Services/EntityTask.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@ public class EntityTask : IEntityTask
private readonly IExecutionContext _executionContext;
private readonly IRenameObjectDTOFactory _renameObjectDTOFactory;

public EntityTask(IApplicationController applicationController, IExecutionContext executionContext, IRenameObjectDTOFactory renameObjectDTOFactory)
public EntityTask(
IApplicationController applicationController,
IExecutionContext executionContext,
IRenameObjectDTOFactory renameObjectDTOFactory)
{
_applicationController = applicationController;
_executionContext = executionContext;
Expand All @@ -34,7 +37,7 @@ public ICommand Rename(IEntity elementToRename)
private ICommand rename(IEntity elementToRename, bool isStructuralChange)
{
var dto = _renameObjectDTOFactory.CreateFor(elementToRename);
var newName = NewNameFor(elementToRename, dto.UsedNames, dto.ContainerType);
var newName = NewNameFor(elementToRename, dto.UsedNames, TypeFor(elementToRename));
if(string.IsNullOrEmpty(newName))
return new PKSimEmptyCommand();

Expand Down
9 changes: 7 additions & 2 deletions tests/PKSim.Tests/Presentation/EntityTaskSpecs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ public abstract class concern_for_EntityTask : ContextSpecification<IEntityTask>
protected IRenameObjectDTOFactory _renameObjectFactory;
protected RenameObjectDTO _renameDTO;

protected static string ENT_TYPE = "ENT_TYPE";

protected override void Context()
{
_applicationController = A.Fake<IApplicationController>();
Expand All @@ -38,6 +40,7 @@ protected override void Context()
_renameDTO = new RenameObjectDTO(_entity.Name);
_renameDTO.AddUsedNames(new[] {"A", "B"});
A.CallTo(() => _renameObjectFactory.CreateFor(_entity)).Returns(_renameDTO);
A.CallTo(() => _executionContext.TypeFor<IObjectBase>(_entity)).Returns(ENT_TYPE);
}
}

Expand All @@ -51,7 +54,7 @@ protected override void Because()
[Observation]
public void should_retrieve_the_rename_presenter_and_start_it()
{
A.CallTo(() => _renamePresenter.NewNameFrom(_entity, _renameDTO.UsedNames, _renameDTO.ContainerType)).MustHaveHappened();
A.CallTo(() => _renamePresenter.NewNameFrom(_entity, _renameDTO.UsedNames, ENT_TYPE)).MustHaveHappened();
}
}

Expand Down Expand Up @@ -112,6 +115,8 @@ protected override void Context()
A.CallTo(() => _applicationController.Start<IRenameExpressionProfilePresenter>()).Returns(_renameExpressionProfilePresenter);
_expressionProfile = new ExpressionProfile();
A.CallTo(() => _renameObjectFactory.CreateFor(_expressionProfile)).Returns(_renameDTO);
A.CallTo(() => _executionContext.TypeFor<IObjectBase>(_expressionProfile)).Returns(ENT_TYPE);

}

protected override void Because()
Expand All @@ -122,7 +127,7 @@ protected override void Because()
[Observation]
public void should_use_the_rename_expression_profile_presenter_to_perform_the_rename()
{
A.CallTo(() => _renameExpressionProfilePresenter.NewNameFrom(_expressionProfile, _renameDTO.UsedNames, _renameDTO.ContainerType)).MustHaveHappened();
A.CallTo(() => _renameExpressionProfilePresenter.NewNameFrom(_expressionProfile, _renameDTO.UsedNames, ENT_TYPE)).MustHaveHappened();
}
}
}

0 comments on commit 16c1f00

Please sign in to comment.