public async Task SetPackageContactAsync_InvalidProjectId_ShouldThrowArgumentNullException(string projectId) { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), ProjectId = existingProject.Id, }; var existingContact = new GetContactPayload { Id = Guid.NewGuid().ToString(), }; var setContactAssociationRequest = new SetContactAssociationRequest(existingContact.Id); var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.SetPackageContactAsync(projectId, existingPackage.Id, setContactAssociationRequest); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task DeletePackageCommentAsync_InvalidProjectId_ShouldThrowArgumentNullException(string projectId) { // Arrange var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var existingPackageComments = new List <GetPackageCommentPayload> { new GetPackageCommentPayload { Id = Guid.NewGuid().ToString(), TaskPackageId = existingPackage.Id, }, }; var expectedPackageComment = existingPackageComments.First(comment => comment.TaskPackageId == existingPackage.Id); var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.DeletePackageCommentAsync(projectId, existingPackage.Id, expectedPackageComment.Id); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task MovePackageIntoProjectAsync_ValidRequest_ShouldReturnVoid() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var parentPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var setProjectAssociationRequest = new SetProjectAssociationRequest(parentPackage.Id); var expectedResponse = new HttpResponseMessage(); var packageApi = this.fixture.GetPackageApi(expectedResponse); // Act Func <Task> act = async() => await packageApi.MovePackageIntoProjectAsync(existingProject.Id, existingPackage.Id, setProjectAssociationRequest); // Assert await act.Should().NotThrowAsync(); }
public async Task MovePackageIntoProjectAsync_InvalidRequestModelParentPackageId_ShouldThrowArgumentNullException(string packageId) { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var setProjectAssociationRequest = new SetProjectAssociationRequest(packageId); var expectedResponse = new HttpResponseMessage(); var packageApi = this.fixture.GetPackageApi(expectedResponse); // Act Func <Task> act = async() => await packageApi.MovePackageIntoProjectAsync(existingProject.Id, existingPackage.Id, setProjectAssociationRequest); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task DeletePackageAsync_ValidRequest_ShouldReturnDeletedPackage() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var expectedResponseContent = new StringContent(JsonConvert.SerializeObject(existingPackage, this.fixture.JsonSerializerSettings)); var expectedResponse = new HttpResponseMessage { Content = expectedResponseContent, }; var packageApi = this.fixture.GetPackageApi(expectedResponse); var deletePackageResponse = new DeletePackageResponse(); // Act Func <Task> act = async() => deletePackageResponse = await packageApi.DeletePackageAsync(existingProject.Id, existingPackage.Id); // Assert await act.Should().NotThrowAsync(); deletePackageResponse.Id.Should().Be(existingPackage.Id); }
public async Task RevokePackageWriteRightFromUserAsync_ValidRequest_ShouldReturnVoid() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var existingEmployeeId = Guid.NewGuid().ToString(); var expectedResponse = new HttpResponseMessage(); var packageApi = this.fixture.GetPackageApi(expectedResponse); // Act Func <Task> act = async() => await packageApi.RevokePackageWriteRightsFromUserAsync(existingProject.Id, existingPackage.Id, existingEmployeeId); // Assert await act.Should().NotThrowAsync(); }
public async Task ShiftTasksOfPackageAsync_ValidRequest_ShouldReturnVoid() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var shiftPackageWithSuccessorsRequest = new ShiftPackageWithSuccessorsRequest(1); var expectedResponse = new HttpResponseMessage(); var packageApi = this.fixture.GetPackageApi(expectedResponse); // Act Func <Task> act = async() => await packageApi.ShiftTasksOfPackageAsync(existingProject.Id, existingPackage.Id, shiftPackageWithSuccessorsRequest); // Assert await act.Should().NotThrowAsync(); }
public async Task GetPackageReadRightsAsync_ValidRequest_ShouldReturnPackageReadRightsInformation() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var existingReadRights = new List <GetPackageReadRightsResponse> { new GetPackageReadRightsResponse { AccessRights = new List <AccessRightReason> { new AccessRightReason { PackageId = existingPackage.Id, ProjectId = existingProject.Id, Reason = AccessReason.IsProjectOfficer, TaskId = Guid.NewGuid().ToString(), }, }, EmployeeId = Guid.NewGuid().ToString(), }, }; var expectedPackageReadRights = existingReadRights .Where(element => element.AccessRights.Any(right => right.PackageId == existingPackage.Id)); var expectedResponseContent = new StringContent(JsonConvert.SerializeObject(expectedPackageReadRights, this.fixture.JsonSerializerSettings)); var expectedResponse = new HttpResponseMessage { Content = expectedResponseContent, }; var packageApi = this.fixture.GetPackageApi(expectedResponse); var getPackageReadRightsResponse = default(IEnumerable <GetPackageReadRightsResponse>); // Act Func <Task> act = async() => getPackageReadRightsResponse = await packageApi.GetPackageReadRightsAsync(existingProject.Id, existingPackage.Id); // Assert await act.Should().NotThrowAsync(); getPackageReadRightsResponse.Should().BeEquivalentTo(expectedPackageReadRights); }
public async Task UpdatePackageAsync_ValidRequest_ShouldReturnUpdatePackage() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), Description = "TestDescription", }; var updatePackageRequest = new UpdatePackageRequest { Description = "NewDescription", }; var expectedUpdatedPackage = new UpdatePackageResponse { Id = existingPackage.Id, Description = updatePackageRequest.Description, }; var expectedResponseContent = new StringContent(JsonConvert.SerializeObject(expectedUpdatedPackage, this.fixture.JsonSerializerSettings)); var expectedResponse = new HttpResponseMessage { Content = expectedResponseContent, }; var packageApi = this.fixture.GetPackageApi(expectedResponse); var updatePackageResponse = new UpdatePackageResponse(); // Act Func <Task> act = async() => updatePackageResponse = await packageApi.UpdatePackageAsync(existingProject.Id, existingPackage.Id, updatePackageRequest); // Assert await act.Should().NotThrowAsync(); using (new AssertionScope()) { updatePackageResponse.Id.Should().Be(existingPackage.Id); updatePackageResponse.Description.Should().Be(expectedUpdatedPackage.Description); } }
public async Task GetPackageByIdAsyncTwoParameters_InvalidProjectId_ShouldThrowArgumentNullException(string projectId) { // Arrange var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.GetPackageByIdAsync(projectId, existingPackage.Id); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task GetCommentsOfPackageAsync_ValidRequest_ShouldReturnCommentsOfPackage() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var existingPackageComments = new List <GetPackageCommentPayload> { new GetPackageCommentPayload { Id = Guid.NewGuid().ToString(), TaskPackageId = existingPackage.Id, }, new GetPackageCommentPayload { Id = Guid.NewGuid().ToString(), TaskPackageId = existingPackage.Id, }, }; var expectedPackageComments = existingPackageComments.Where(comment => comment.TaskPackageId == existingPackage.Id); var expectedResponseContent = new StringContent(JsonConvert.SerializeObject(expectedPackageComments, this.fixture.JsonSerializerSettings)); var expectedResponse = new HttpResponseMessage { Content = expectedResponseContent, }; var packageApi = this.fixture.GetPackageApi(expectedResponse); var getCommentsOfPackageResponse = default(IEnumerable <GetPackageCommentPayload>); // Act Func <Task> act = async() => getCommentsOfPackageResponse = await packageApi.GetCommentsOfPackageAsync(existingProject.Id, existingPackage.Id); // Assert await act.Should().NotThrowAsync(); getCommentsOfPackageResponse.Should().BeEquivalentTo(existingPackageComments); }
public async Task ShiftTasksOfPackageAsync_InvalidProjectId_ShouldThrowArgumentNullException(string projectId) { // Arrange var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var shiftPackageWithSuccessorsRequest = new ShiftPackageWithSuccessorsRequest(1); var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.ShiftTasksOfPackageAsync(projectId, existingPackage.Id, shiftPackageWithSuccessorsRequest); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task RevokePackageWriteRightFromUserAsync_InvalidProjectId_ShouldThrowArgumentNullException(string projectId) { // Arrange var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var existingEmployeeId = Guid.NewGuid().ToString(); var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.RevokePackageWriteRightsFromUserAsync(projectId, existingPackage.Id, existingEmployeeId); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task CreatePackageCommentAsync_ValidRequest_ShouldReturnCreatedPackageComment() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var text = Guid.NewGuid().ToString(); var createPackageCommentRequest = new CreatePackageCommentRequest(text); var expectedPackageComment = new CreatePackageCommentResponse { Text = text, }; var expectedResponseContent = new StringContent(JsonConvert.SerializeObject(expectedPackageComment, this.fixture.JsonSerializerSettings)); var expectedResponse = new HttpResponseMessage { Content = expectedResponseContent, }; var packageApi = this.fixture.GetPackageApi(expectedResponse); var createPackageCommentResponse = default(CreatePackageCommentResponse); // Act Func <Task> act = async() => createPackageCommentResponse = await packageApi.CreatePackageCommentAsync(existingProject.Id, existingPackage.Id, createPackageCommentRequest); // Assert await act.Should().NotThrowAsync(); createPackageCommentResponse.Should().BeEquivalentTo(expectedPackageComment); }
public async Task GrantPackageReadRightsToUserAsync_ValidRequest_ShouldReturnPackageReadRightsForUserInformation() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var existingEmployeeId = Guid.NewGuid().ToString(); var addPackageReadRightsForUserRequest = new AddPackageReadRightsForUserRequest(existingEmployeeId); var expectedPackageReadRight = new AddPackageReadRightsForUserResponse { EmployeeId = existingEmployeeId, }; var expectedResponseContent = new StringContent(JsonConvert.SerializeObject(expectedPackageReadRight, this.fixture.JsonSerializerSettings)); var expectedResponse = new HttpResponseMessage { Content = expectedResponseContent, }; var packageApi = this.fixture.GetPackageApi(expectedResponse); var addPackageReadRightsForUserResponse = default(AddPackageReadRightsForUserResponse); // Act Func <Task> act = async() => addPackageReadRightsForUserResponse = await packageApi.GrantPackageReadRightsToUserAsync(existingProject.Id, existingPackage.Id, addPackageReadRightsForUserRequest); // Assert await act.Should().NotThrowAsync(); addPackageReadRightsForUserResponse.Should().BeEquivalentTo(expectedPackageReadRight); }
public async Task CreatePackageCommentAsync_InvalidProjectId_ShouldThrowArgumentNullException(string projectId) { // Arrange var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var text = Guid.NewGuid().ToString(); var createPackageCommentRequest = new CreatePackageCommentRequest(text); var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.CreatePackageCommentAsync(projectId, existingPackage.Id, createPackageCommentRequest); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task GrantPackageReadRightsToUserAsync_InvalidProjectId_ShouldThrowArgumentNullException(string projectId) { // Arrange var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var existingEmployeeId = Guid.NewGuid().ToString(); var addPackageReadRightsForUserRequest = new AddPackageReadRightsForUserRequest(existingEmployeeId); var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.GrantPackageReadRightsToUserAsync(projectId, existingPackage.Id, addPackageReadRightsForUserRequest); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task DeletePackageCommentAsync_InvalidCommentId_ShouldThrowArgumentNullException(string packageCommentId) { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.DeletePackageCommentAsync(existingProject.Id, existingPackage.Id, packageCommentId); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task MovePackageIntoProjectAsync_NullRequestModel_ShouldThrowArgumentNullException() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.MovePackageIntoProjectAsync(existingProject.Id, existingPackage.Id, setProjectAssociationRequest : null); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task GrantPackageReadRightsToUserAsync_NullRequestModel_ShouldThrowArgumentNullException() { // Arrange var existingProject = new GetProjectPayload { Id = Guid.NewGuid().ToString(), }; var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), }; var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.GrantPackageReadRightsToUserAsync(existingProject.Id, existingPackage.Id, addPackageReadRightsForUserRequest : null); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }
public async Task UpdatePackageAsync_InvalidProjectId_ShouldThrowArgumentNullException(string projectId) { // Arrange var existingPackage = new GetPackagePayload { Id = Guid.NewGuid().ToString(), Description = "TestDescription", }; var updatePackageRequest = new UpdatePackageRequest { Description = "NewDescription", }; var packageApi = this.fixture.GetPackageApi(); // Act Func <Task> act = async() => await packageApi.UpdatePackageAsync(projectId, existingPackage.Id, updatePackageRequest); // Assert await act.Should().ThrowAsync <ArgumentNullException>(); }