コード例 #1
0
        public void GetOpenProjects_ReturnOnlyOpenProjects()
        {
            var testProjects = SetupBasicProjectData();
            var repository   = new ProjectRepositoryFake(testProjects);
            var sut          = new ProjectService(repository, null, null, null);
            var expected     = testProjects.Where(p => p.State != ProjectStates.Closed);

            var actual = sut.GetOpenProjects();

            actual.Should().Equal(expected);
        }
コード例 #2
0
        public void GetProjects_ReturnsAllProjects()
        {
            var testProjects = SetupBasicProjectData();
            var repository   = new ProjectRepositoryFake(testProjects);
            var sut          = new ProjectService(repository, null, null, null);
            var expected     = testProjects;

            var actual = sut.GetProjects();

            actual.Should().Equal(expected);
        }
コード例 #3
0
        public void SaveChanges_ProjectExists_UpdatesExistingProject()
        {
            var testProjects   = SetupBasicProjectData();
            var repository     = new ProjectRepositoryFake(testProjects);
            var sut            = new ProjectService(repository, null, null, null);
            var updatedProject = repository.Projects.First();

            updatedProject.Name = "Updated";

            sut.SaveChanges(updatedProject);

            repository.Projects.Should().Contain(updatedProject);
            repository.Projects.First().Name.Should().Be("Updated");
        }
コード例 #4
0
        public void SaveChanges_ProjectDoesntExists_AddsNewProject()
        {
            var testProjects = SetupBasicProjectData();
            var repository   = new ProjectRepositoryFake(testProjects);
            var sut          = new ProjectService(repository, null, null, null);
            var newProject   = new Project()
            {
                ID = 0,
            };

            sut.SaveChanges(newProject);

            repository.Projects.Should().Contain(newProject);
        }
コード例 #5
0
        public void AddNewProject_AddsNewProject()
        {
            var testProjects = SetupBasicProjectData();
            var repository   = new ProjectRepositoryFake(testProjects);
            var newProject   = new Project()
            {
                ID = 4, State = ProjectStates.Inbox
            };
            var newProjectPosition = repository.
                                     Projects
                                     .Count(p => p.State == ProjectStates.Inbox) + 1;
            var sut = new ProjectService(repository, null, null, null);

            sut.AddNewProject(newProject);

            repository.Projects.Should().Contain(newProject);

            var newProjectInRepository = repository.Projects.First(p => p.ID == newProject.ID);

            newProjectInRepository.Order.Should().Be(newProjectPosition);
        }