Example #1
0
        public void TestAddProjectCommand()
        {
            // Arrange
            bool isFaulted = false;
            HttpResponseMessage response = null;

            var project = new ProjectPostModel
            {
                Name        = ProjectNameConst,
                Description = ProjectDescriptionConst,
                Data        = DataNameConst,
                DataUri     = DataUriConst,
                Video       = VideoNameConst,
                VideoUri    = VideoUriConst,
                Public      = "true"
            };

            var projectsAddCommand = new ProjectsAddCommand(GetFakeApiController(true), GetFakeProjectRepository(), GetFakeQueueVideoRepository(), project);

            // Act
            Task <HttpResponseMessage> responseTask = projectsAddCommand.Execute();
            Task <bool> taskResult = responseTask.ContinueWith(p => isFaulted = p.IsFaulted, TaskContinuationOptions.ExecuteSynchronously);

            taskResult.Wait();

            if (!isFaulted)
            {
                response = responseTask.Result;
            }

            // Assert
            _repositoryMock.Verify(m => m.AddAsync(It.IsAny <ProjectAddParameters>()), Times.Once());
            Assert.IsFalse(isFaulted);
            Assert.IsNotNull(response);
            Assert.AreEqual(response.StatusCode, HttpStatusCode.Created);
            Assert.AreEqual(UserIdConst, _userId);
            Assert.AreEqual(ProjectNameConst, _projectName);
            Assert.AreEqual(ProjectDescriptionConst, _projectDescription);
            Assert.AreEqual(VideoNameConst, _videoName);
            Assert.AreEqual(VideoUriConst, _videoUri);
            Assert.AreEqual(DataNameConst, _dataName);
            Assert.AreEqual(DataUriConst, _dataUri);
            Assert.AreEqual(_isPublicValue, true);
        }
        public void TestAddProjectCommand()
        {
            // Arrange
            bool isFaulted = false;
            HttpResponseMessage response = null;

            var project = new ProjectPostModel
                {
                    Name = ProjectNameConst,
                    Description = ProjectDescriptionConst,
                    Data = DataNameConst,
                    DataUri = DataUriConst,
                    Video = VideoNameConst,
                    VideoUri = VideoUriConst,
                    Public = "true"
                };

            var projectsAddCommand = new ProjectsAddCommand(GetFakeApiController(true), GetFakeProjectRepository(), GetFakeQueueVideoRepository(), project);

            // Act
            Task<HttpResponseMessage> responseTask = projectsAddCommand.Execute();
            Task<bool> taskResult = responseTask.ContinueWith(p => isFaulted = p.IsFaulted, TaskContinuationOptions.ExecuteSynchronously);
            taskResult.Wait();

            if (!isFaulted)
            {
                response = responseTask.Result;
            }

            // Assert
            _repositoryMock.Verify(m => m.AddAsync(It.IsAny<ProjectAddParameters>()), Times.Once());
            Assert.IsFalse(isFaulted);
            Assert.IsNotNull(response);
            Assert.AreEqual(response.StatusCode, HttpStatusCode.Created);
            Assert.AreEqual(UserIdConst, _userId);
            Assert.AreEqual(ProjectNameConst, _projectName);
            Assert.AreEqual(ProjectDescriptionConst, _projectDescription);
            Assert.AreEqual(VideoNameConst, _videoName);
            Assert.AreEqual(VideoUriConst, _videoUri);
            Assert.AreEqual(DataNameConst, _dataName);
            Assert.AreEqual(DataUriConst, _dataUri);
            Assert.AreEqual(_isPublicValue, true);
        }