public PostOneTimeTaskResponse Any(PostOneTimeTask request)
 {
     return new PostOneTimeTaskResponse
     {
         TaskResponse = taskHandler.Create(request.OneTimeTaskRequest)
     };
 }
        public void PostOneTimeTask_NameNullOrEmpty_Return400(
            [Values(null, "")] string name,
            [ValueSource("GetDifferentSaopClients")] ISyncReplyClient service)
        {
            var request = new PostOneTimeTask{OneTimeTaskRequest =  TaskHelper.CreateOneTimeTaskRequest()};
            request.OneTimeTaskRequest.Name = name;

            var response = service.PostOneTimeTask(request);

            Assert.That(response.ResponseStatus.ErrorCode, Is.EqualTo("ArgumentException"));
            Assert.That(response.ResponseStatus.Message, Is.StringContaining("Name"));
        }
        public void PostOneTimeTask_Standard_ReturnIdAsDefinedByMock(
            [ValueSource("GetDifferentSaopClients")] ISyncReplyClient service)
        {
            var id = 10;
            var repository = GetRepositoryMock();
            repository.Setup(r => r.CreateTask(It.IsAny<OneTimeTaskDto>())).Returns(id);
            var request = new PostOneTimeTask { OneTimeTaskRequest = TaskHelper.CreateOneTimeTaskRequest() };

            var response = service.PostOneTimeTask(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 PostGetDeleteGetOneTimeTask_Standard_TaskDoesNotExistAnymore(
            [ValueSource("GetDifferentSaopClients")] ISyncReplyClient client)
        {
            var id = 1;

            var postRequest = new PostOneTimeTask{OneTimeTaskRequest = TaskHelper.CreateOneTimeTaskRequest()};
            var resultId = client.PostOneTimeTask(postRequest);
            var getRequest = new GetOneTimeTask { Id = resultId.TaskResponse.Id };
            var result = client.GetOneTimeTask(getRequest);

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

            client.DeleteOneTimeTask(new DeleteOneTimeTask { Id = resultId.TaskResponse.Id });
            result = client.GetOneTimeTask(getRequest);

            Assert.That(result.ResponseStatus.ErrorCode, Is.EqualTo("ArgumentNullException"));
        }
        public void PostOneTimeTask_NothingDefined_ReturnId1(
            [ValueSource("GetDifferentSaopClients")] ISyncReplyClient client)
        {
            var id = 1;
            var request =new PostOneTimeTask{OneTimeTaskRequest= TaskHelper.CreateOneTimeTaskRequest()};

            var response = client.PostOneTimeTask(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 PostGetPutGetOneTimeTask_Standard_ReturnTwiceTheSameIdAndObject(
            [ValueSource("GetDifferentSaopClients")] ISyncReplyClient client)
        {
            var id = 1;

            var postRequest = new PostOneTimeTask{OneTimeTaskRequest = TaskHelper.CreateOneTimeTaskRequest()};
            var resultId = client.PostOneTimeTask(postRequest);
            var getRequest = new GetOneTimeTask { Id = resultId.TaskResponse.Id };
            var result = client.GetOneTimeTask(getRequest);

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

            var putRequest = new PutOneTimeTask{OneTimeTaskRequest = postRequest.OneTimeTaskRequest};
            putRequest.OneTimeTaskRequest.Id = resultId.TaskResponse.Id;
            putRequest.OneTimeTaskRequest.Name = "dummy";
            putRequest.OneTimeTaskRequest.Description = "hm..";
            putRequest.OneTimeTaskRequest.Trigger = DateTime.Now.AddDays(123);
            var responsePut = client.PutOneTimeTask(putRequest);
            result = client.GetOneTimeTask(getRequest);

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