public void AddStreamToCompleteProjectThrowsException() { var projectManager = new ProjectManager { Session = _embeddedDocStore.OpenSession() }; var newProjectStream = new ProjectStream("Stream1", "Create a new stream that takes over the whole project."); const string exceptionMessage = "Cannot add stream to project with status of Complete."; Assert.That(() => projectManager.AddProjectStream(completedProject.Name, newProjectStream, activeUser.Username), Throws.ArgumentException.With.Message.EqualTo(exceptionMessage)); }
public void AddStreamToActiveProjectUserNotInProjectThrowsException() { var projectManager = new ProjectManager { Session = _embeddedDocStore.OpenSession() }; var newProjectStream = new ProjectStream("Stream1", "Create a new stream that takes over the whole project."); var exceptionMessage = string.Format("User {0} is currently not active in Project {1}.", activeUserNotInProject.Username, activeProject.Name); Assert.That(() => projectManager.AddProjectStream(activeProject.Name, newProjectStream, activeUserNotInProject.Username), Throws.ArgumentException.With.Message.EqualTo(exceptionMessage)); }
public void AddProjectStream(string activeProjectName, ProjectStream newProjectStream, string username) { var project = Session.Query<Project>().Where(p => p.Name == activeProjectName).FirstOrDefault(); if (project.Status != Status.Active) throw new ArgumentException(string.Format("Cannot add stream to project with status of {0}.", project.Status)); if (!project.Users.Contains(username)) throw new ArgumentException(string.Format("User {0} is currently not active in Project {1}.", username, project.Name)); project.ProjectStreams.Add(new ProjectStream(newProjectStream.Name, newProjectStream.Description) { CreatedBy = username }); Session.SaveChanges(); }
public void AddStreamToActiveProjectSuccess() { var projectManager = new ProjectManager { Session = _embeddedDocStore.OpenSession() }; var newProjectStream = new ProjectStream("Stream1", "Create a new stream that takes over the whole project."); projectManager.AddProjectStream(activeProject.Name, newProjectStream, activeUser.Username); var session = _embeddedDocStore.OpenSession(); var project = session.Query<Project>().Where(p => p.Name == activeProject.Name).First(); Assert.That(project.ProjectStreams.Count, Is.EqualTo(1)); Assert.That(project.ProjectStreams[0].CreatedBy, Is.EqualTo(activeUser.Username)); }
public void AddProjectStream(string activeProjectName, ProjectStream newProjectStream, string username) { var project = Session.Query <Project>().Where(p => p.Name == activeProjectName).FirstOrDefault(); if (project.Status != Status.Active) { throw new ArgumentException(string.Format("Cannot add stream to project with status of {0}.", project.Status)); } if (!project.Users.Contains(username)) { throw new ArgumentException(string.Format("User {0} is currently not active in Project {1}.", username, project.Name)); } project.ProjectStreams.Add(new ProjectStream(newProjectStream.Name, newProjectStream.Description) { CreatedBy = username }); Session.SaveChanges(); }