public async Task <IActionResult> UpdateJobOffer([FromBody] UpdateJobOfferCommand command, Guid id)
        {
            command.Id = id;
            var jobOfferUpdated = await _mediator.Send(command);

            return(Ok(jobOfferUpdated));
        }
Exemple #2
0
        public async Task UpdateAsync(string jobOfferId, UpdateJobOfferMvcViewModel updateJobOfferViewModel)
        {
            _addBearerTokenService.AddBearerToken(_client);

            UpdateJobOfferCommand command = _mapper.Map <UpdateJobOfferCommand>(updateJobOfferViewModel);

            await _client.JobofferPutAsync(jobOfferId, command);
        }
Exemple #3
0
        public async Task <ActionResult> Update([FromRoute] string id, [FromBody] UpdateJobOfferCommand command)
        {
            if (id != command.Id)
            {
                return(BadRequest());
            }

            await Mediator.Send(command);

            return(Ok());
        }
Exemple #4
0
        public void Should_Have_Error_When_Position_Is_Invalid_Format()
        {
            //Arrange
            var command = new UpdateJobOfferCommand()
            {
                Position = "NewCompany/"
            };

            //Act
            var result = _validator.TestValidate(command);

            //Assert
            result.ShouldHaveValidationErrorFor(x => x.Position);
        }
Exemple #5
0
        public void Should_Have_Error_When_Position_Is_Greater_Than_30_Characters()
        {
            //Arrange
            var command = new UpdateJobOfferCommand()
            {
                Position = new string('T', 31)
            };

            //Act
            var result = _validator.TestValidate(command);

            //Assert
            result.ShouldHaveValidationErrorFor(x => x.Position);
        }
Exemple #6
0
        public void Should_Have_Error_When_Position_Is_Empty()
        {
            //Arrange
            var command = new UpdateJobOfferCommand()
            {
                Position = string.Empty
            };

            //Act
            var result = _validator.TestValidate(command);

            //Assert
            result.ShouldHaveValidationErrorFor(x => x.Position);
        }
        public void Handle_InvalidJobOfferId_ThrowsNotFoundException()
        {
            //Arrange
            var handler = new UpdateJobOfferCommandHandler(_mockJobOfferRepository.Object, _mapper, _logger.Object, _mockCurrentUserService.Object);

            var command = new UpdateJobOfferCommand()
            {
                Id = "99"
            };

            //Act
            Func <Task> func = () => handler.Handle(command, CancellationToken.None);

            //Assert
            func.ShouldThrowAsync <NotFoundException>();
        }
        public void Handle_NotOwnerUser_ThrowsForbiddenAccessException()
        {
            //Arrange
            _mockCurrentUserService.SetupGet(x => x.UserId).Returns("user2");

            var handler = new UpdateJobOfferCommandHandler(_mockJobOfferRepository.Object, _mapper, _logger.Object, _mockCurrentUserService.Object);

            var command = new UpdateJobOfferCommand()
            {
                Id = "1"
            };

            //Act
            Func <Task> func = () => handler.Handle(command, CancellationToken.None);

            //Assert
            func.ShouldThrowAsync <ForbiddenAccessException>();
        }
        public async Task Handle_ValidJobOffer_ReturnsSpecyficType()
        {
            //Arrange
            var handler = new UpdateJobOfferCommandHandler(_mockJobOfferRepository.Object, _mapper, _logger.Object, _mockCurrentUserService.Object);

            var command = new UpdateJobOfferCommand()
            {
                Id          = "1",
                Position    = "PositionTest",
                IsAvailable = true,
                Salary      = "1000"
            };

            //Act
            var result = await handler.Handle(command, CancellationToken.None);

            //Assert
            result.ShouldBeOfType <Unit>();
        }
        public async Task Handle_ValidJobOffer_UpdatedToJobOfferRepository()
        {
            //Arrange
            var handler = new UpdateJobOfferCommandHandler(_mockJobOfferRepository.Object, _mapper, _logger.Object, _mockCurrentUserService.Object);

            var command = new UpdateJobOfferCommand()
            {
                Id          = "1",
                Position    = "PositionTest",
                IsAvailable = true,
                Salary      = "1000"
            };

            //Act
            await handler.Handle(command, CancellationToken.None);

            var entityUpdated = await _mockJobOfferRepository.Object.GetByIdAsync(command.Id);

            //Assert
            entityUpdated.Id.ShouldBe("1");

            entityUpdated.Position.ShouldBe("PositionTest");
        }