public PostMonthlyTaskResponse Any(PostMonthlyTask request)
 {
     return new PostMonthlyTaskResponse
     {
         TaskResponse = taskHandler.Create(request.MonthlyTaskRequest)
     };
 }
        public void PostGetDeleteGetMonthlyTask_Standard_TaskDoesNotExistAnymore(
            [ValueSource("GetDifferentSaopClients")] ISyncReplyClient client)
        {
            var id = 1;

            var postRequest = new PostMonthlyTask{MonthlyTaskRequest =TaskHelper.CreateMonthlyTaskRequest()};
            var resultId = client.PostMonthlyTask(postRequest);
            var getRequest = new GetMonthlyTask { Id = resultId.TaskResponse.Id };
            var result = client.GetMonthlyTask(getRequest);

            Assert.That(resultId.TaskResponse.Id, Is.EqualTo(id));
            AssertSame.MonthlyTaskRequest(result.MonthlyTaskRequest, postRequest.MonthlyTaskRequest);

            client.DeleteMonthlyTask(new DeleteMonthlyTask { Id = resultId.TaskResponse.Id });
            result = client.GetMonthlyTask(getRequest);

            Assert.That(result.ResponseStatus.ErrorCode, Is.EqualTo("ArgumentNullException"));
        }
        public void PostMonthlyTask_NothingDefined_ReturnId1(
            [ValueSource("GetDifferentSaopClients")] ISyncReplyClient client)
        {
            var id = 1;
            var request = new PostMonthlyTask{MonthlyTaskRequest= TaskHelper.CreateMonthlyTaskRequest()};

            var response = client.PostMonthlyTask(request);

            Assert.That(response.ResponseStatus.ErrorCode, Is.Null);
            Assert.That(response.ResponseStatus.Message, Is.Null);
            Assert.That(response.TaskResponse.Id, Is.EqualTo(id));
        }
        public void PostGetPutGetMonthlyTask_Standard_ReturnTwiceTheSameIdAndObject(
            [ValueSource("GetDifferentSaopClients")] ISyncReplyClient client)
        {
            var id = 1;

            var postRequest = new PostMonthlyTask{MonthlyTaskRequest = TaskHelper.CreateMonthlyTaskRequest()};
            var resultId = client.PostMonthlyTask(postRequest);
            var getRequest = new GetMonthlyTask { Id = resultId.TaskResponse.Id };
            var result = client.GetMonthlyTask(getRequest);

            Assert.That(resultId.TaskResponse.Id, Is.EqualTo(id));
            AssertSame.MonthlyTaskRequest(result.MonthlyTaskRequest, postRequest.MonthlyTaskRequest);

            var putRequest = new PutMonthlyTask {MonthlyTaskRequest = postRequest.MonthlyTaskRequest};
            putRequest.MonthlyTaskRequest.Id = resultId.TaskResponse.Id;
            putRequest.MonthlyTaskRequest.Name = "dummy";
            putRequest.MonthlyTaskRequest.Description = "hm..";
            putRequest.MonthlyTaskRequest.RecursOnMonth = new HashSet<EMonth>{EMonth.April};
            var responsePut = client.PutMonthlyTask(putRequest);
            result = client.GetMonthlyTask(getRequest);

            Assert.That(resultId.TaskResponse.Id, Is.EqualTo(id));
            AssertSame.MonthlyTaskRequest(result.MonthlyTaskRequest, putRequest.MonthlyTaskRequest);
        }