public void StudioResourceRepository_Connect_ServiceCallReturnsData_ExplorerItemsModelsIsBuilt()
{
//------------Setup for test--------------------------
var mockExplorerResourceRepository = new Mock<IClientExplorerResourceRepository>();
mockExplorerResourceRepository.Setup(m => m.Load(It.IsAny<Guid>()))
.Returns(GetTestData());
var environmentId = Guid.NewGuid();
SetupEnvironmentRepo(environmentId);
var mockVersionRepository = new Mock<IVersionRepository>();
var repository = new StudioResourceRepository(
new ServerExplorerItem
{
DisplayName = "LOCALHOST",
Permissions = Permissions.Administrator,
ResourceType = ResourceType.Server
}, environmentId, _invoke)
{
GetVersionProxy = id => mockVersionRepository.Object,
GetExplorerProxy = id => mockExplorerResourceRepository.Object
};
var countBeforeConnecting = repository.ExplorerItemModels.Count;
//------------Execute Test---------------------------
repository.Connect(environmentId);
//------------Assert Results-------------------------
Assert.AreEqual(1, countBeforeConnecting);
Assert.AreEqual(1, repository.ExplorerItemModels.Count);
Assert.AreEqual(2, repository.ExplorerItemModels[0].Children.Count);
Assert.AreEqual("folder1", repository.ExplorerItemModels[0].Children[0].DisplayName);
Assert.AreEqual(4, repository.ExplorerItemModels[0].Children[0].Children.Count);
Assert.AreEqual("dbService1", repository.ExplorerItemModels[0].Children[0].Children[0].DisplayName);
Assert.AreEqual("webService1", repository.ExplorerItemModels[0].Children[0].Children[1].DisplayName);
Assert.AreEqual("pluginService1", repository.ExplorerItemModels[0].Children[0].Children[2].DisplayName);
Assert.AreEqual("subfolder1", repository.ExplorerItemModels[0].Children[0].Children[3].DisplayName);
Assert.AreEqual(0, repository.ExplorerItemModels[0].Children[1].Children.Count);
Assert.AreEqual("workflow1", repository.ExplorerItemModels[0].Children[1].DisplayName);
}