Пример #1
0
        public void ValidCreateTeamRequestReturnsNoErrorsOnValidation()
        {
            var createTeamRequest = TestHelpers.CreateTeamRequest();
            var validator         = new CreateTeamRequestValidator();

            var validationResponse = validator.Validate(createTeamRequest);

            validationResponse.IsValid.Should().Be(true);
        }
Пример #2
0
        public void CreateTeamValidationReturnsErrorsWithInvalidProperties()
        {
            var badCreateTeamRequests = new List <(CreateTeamRequest, string)>
            {
                (TestHelpers.CreateTeamRequest(name: ""), "Team name must be provided"),
                (TestHelpers.CreateTeamRequest(name: _faker.Random.String2(201)), "Team name has a maximum length of 200 characters"),
                (TestHelpers.CreateTeamRequest(context: ""), $"Context flag must be provided{Environment.NewLine}Context flag must be 'A' or 'C'"),
                (TestHelpers.CreateTeamRequest(context: "B"), "Context flag must be 'A' or 'C'"),
            };

            var validator = new CreateTeamRequestValidator();

            foreach (var(request, expectedErrorMessage) in badCreateTeamRequests)
            {
                var validationResponse = validator.Validate(request);

                validationResponse.IsValid.Should().Be(false);
                validationResponse.ToString().Should().Be(expectedErrorMessage);
            }
        }
        public IActionResult CreateTeam([FromBody] CreateTeamRequest request)
        {
            var validator         = new CreateTeamRequestValidator();
            var validationResults = validator.Validate(request);

            if (!validationResults.IsValid)
            {
                return(BadRequest(validationResults.ToString()));
            }

            try
            {
                var createdTeam = _teamsUseCase.ExecutePost(request);
                return(CreatedAtAction(nameof(CreateTeam), createdTeam));
            }
            catch (PostTeamException e)
            {
                return(UnprocessableEntity(e.Message));
            }
        }