public void AddMode_GivenIsSet_ShouldSetModelItemProperty()
        {
            var agg   = new Mock <IEventAggregator>();
            var model = CreateModelItem();
            //------------Setup for test--------------------------
            // ReSharper disable once UseObjectOrCollectionInitializer
            var boxUploadViewModel = new DropBoxUploadViewModel(model, TestResourceCatalog.LazySourceManager.Value);

            //------------Execute Test---------------------------
            boxUploadViewModel.AddMode = true;
            //------------Assert Results-------------------------
            ModelProperty property = model.Properties["AddMode"];

            if (property == null)
            {
                Assert.Fail("Property Does not exist");
            }
            var modelPropertyValue = Convert.ToBoolean(property.ComputedValue);

            Assert.IsTrue(modelPropertyValue);
        }
        public void DropboxUploadViewModel_NewSourcePublishesMessage()
        {
            var agg   = new Mock <IEventAggregator>();
            var model = CreateModelItem();

            CustomContainer.DeRegister <IShellViewModel>();
            var shellViewModelMock = new Mock <IShellViewModel>();

            shellViewModelMock.Setup(viewModel => viewModel.NewDropboxSource(It.IsAny <string>()));
            CustomContainer.Register(shellViewModelMock.Object);
            //------------Setup for test--------------------------
            var dropBoxUploadViewModel = new DropBoxUploadViewModel(model, TestResourceCatalog.LazySourceManager.Value)
            {
                SelectedSource = new DropBoxSource()
            };

            //------------Execute Test---------------------------
            dropBoxUploadViewModel.NewSourceCommand.Execute(null);
            //------------Assert Results-------------------------
            shellViewModelMock.Verify(viewModel => viewModel.NewDropboxSource(It.IsAny <string>()), Times.Once);
            CustomContainer.DeRegister <IShellViewModel>();
        }
        public void DropboxUploadViewModel_EditSourcePublishesMessage()
        {
            var agg   = new Mock <IEventAggregator>();
            var model = CreateModelItem();
            var mockShellViewModel = new Mock <IShellViewModel>();
            var serverMock         = new Mock <IServer>();

            mockShellViewModel.Setup(viewModel => viewModel.OpenResource(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <IServer>()));
            mockShellViewModel.Setup(viewModel => viewModel.ActiveServer).Returns(() => serverMock.Object);
            CustomContainer.Register(mockShellViewModel.Object);
            //------------Setup for test--------------------------
            var dropBoxUploadViewModel = new DropBoxUploadViewModel(model, TestResourceCatalog.LazySourceManager.Value)
            {
                SelectedSource = new DropBoxSource()
            };

            dropBoxUploadViewModel.EditDropboxSourceCommand.Execute(null);
            //------------Execute Test---------------------------
            //------------Assert Results-------------------------
            mockShellViewModel.Verify(viewModel => viewModel.OpenResource(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <IServer>()));
            CustomContainer.DeRegister <IShellViewModel>();
        }
        public void GivenIDragWriteDropboxToolOntoTheDesignSurface()
        {
            var dropBoxUploadTool          = new DsfDropBoxUploadActivity();
            var modelItem                  = ModelItemUtils.CreateModelItem(dropBoxUploadTool);
            var mockEnvironmentRepo        = new Mock <IServerRepository>();
            var mockEnvironmentModel       = new Mock <IServer>();
            var mockExecutionEnvironment   = new Mock <IExecutionEnvironment>();
            var mockResourcRepositorySetUp = new Mock <IResourceRepository>();
            var mockEventAggregator        = new Mock <IEventAggregator>();
            var dropBoxSourceManager       = new Mock <IDropboxSourceManager>();
            var sources = new List <OauthSource>()
            {
                new DropBoxSource()
                {
                    ResourceName = "Test Resource Name"
                }
            };

            mockEnvironmentModel.Setup(model => model.IsConnected).Returns(true);
            mockEnvironmentModel.Setup(model => model.IsLocalHost).Returns(true);
            mockEnvironmentModel.Setup(model => model.EnvironmentID).Returns(Guid.Empty);
            mockEnvironmentModel.Setup(model => model.IsLocalHostCheck()).Returns(false);
            mockResourcRepositorySetUp.Setup(repository => repository.FindSourcesByType <OauthSource>(mockEnvironmentModel.Object, It.IsAny <enSourceType>()))
            .Returns(sources);
            mockEnvironmentModel.Setup(model => model.ResourceRepository).Returns(mockResourcRepositorySetUp.Object);

            mockEnvironmentRepo.Setup(repository => repository.ActiveServer).Returns(mockEnvironmentModel.Object);
            mockEnvironmentRepo.Setup(repository => repository.FindSingle(It.IsAny <Expression <Func <IServer, bool> > >())).Returns(mockEnvironmentModel.Object);
            var mock = new Mock <IResourceCatalog>();

            mock.Setup(catalog => catalog.GetResourceList <Resource>(It.IsAny <Guid>())).Returns(new List <IResource>());
            var uploadViewModel = new DropBoxUploadViewModel(modelItem, dropBoxSourceManager.Object);

            scenarioContext.Add("uploadViewModel", uploadViewModel);
            scenarioContext.Add("mockEnvironmentModel", mockEnvironmentModel);
            scenarioContext.Add("mockEventAggregator", mockEventAggregator);
        }
        public void CreateOAuthSource_GivenCanPublish_ShouldResfreshSources()
        {
            var agg   = new Mock <IEventAggregator>();
            var model = CreateModelItem();
            //------------Setup for test--------------------------
            var mock = new Mock <IDropboxSourceManager>();

            mock.Setup(catalog => catalog.FetchSources <DropBoxSource>()).Returns(new List <DropBoxSource>()
            {
                new DropBoxSource(), new DropBoxSource()
            });

            var mockVM = new DropBoxUploadViewModel(model, mock.Object);

            //---------------Assert Precondition----------------
            mockVM.Sources.Clear();
            var count = mockVM.Sources.Count();

            Assert.AreEqual(0, count);
            //---------------Execute Test ----------------------
            mockVM.Sources = mockVM.LoadOAuthSources();
            //---------------Test Result -----------------------
            Assert.AreEqual(2, mockVM.Sources.Count);
        }