Exemplo n.º 1
0
        public async Task UpdateSuite_WhenFieldMoreThanMaxLengthValue_ShouldReturnBadRequest(
            string serializedSuite, string typeOfError)
        {
            //Arrange
            SetAuthorization();

            var projectModel = ProjectFactory.GetProjectModel();
            var suiteModel   = SuiteFactory.GetSuiteModel();

            var project = await ProjectService.AddProject(projectModel);

            var projectId = ProjectSteps.GetProjectId(project);

            var suite = await SuiteService.AddSuite(projectId, suiteModel);

            var suiteId          = SuiteSteps.GetSuiteId(suite);
            var updateSuiteModel = NewtonsoftJsonSerializer.DefaultDeserialize <RequestSuiteModel>(serializedSuite);

            //Act
            var response = await SuiteService.UpdateSuite(suiteId, updateSuiteModel);

            //Assert
            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var errorResponse = response.GetErrors();

            ErrorAssert.ValidateErrorMessage(errorResponse, typeOfError);
        }
Exemplo n.º 2
0
        public static IEnumerable <object[]> IncorrectValues()
        {
            var moreThanMaxLength = ProjectFactory.GetProjectModel();

            moreThanMaxLength.Name = RandomUtils.GenerateString(
                Constants.ValidationConstants.Constants.RequestProjectModel.NotesMaxLength + 1);

            var serializedProject = NewtonsoftJsonSerializer.Serialize(moreThanMaxLength);

            var missingValue = ProjectFactory.GetProjectModel();

            missingValue.Name = null;

            var serializedNullNameProject = NewtonsoftJsonSerializer.Serialize(missingValue);

            return(new List <object[]>
            {
                new object[]
                {
                    serializedProject,
                    ErrorMessage.MoreThanMaxValue
                },
                new object[]
                {
                    serializedNullNameProject,
                    ErrorMessage.RequiredFieldName
                }
            });
        }
Exemplo n.º 3
0
        public async Task UpdateSuite_ShouldReturnOK()
        {
            //Arrange
            SetAuthorization();

            var suiteModel   = SuiteFactory.GetSuiteModel();
            var projectModel = ProjectFactory.GetProjectModel();

            var project = await ProjectService.AddProject(projectModel);

            var projectId = ProjectSteps.GetProjectId(project);

            var suite = await SuiteService.AddSuite(projectId, suiteModel);

            var suiteId          = SuiteSteps.GetSuiteId(suite);
            var updateSuiteModel = SuiteFactory.GetSuiteModel();

            //Act
            var response = await SuiteService.UpdateSuite(suiteId, updateSuiteModel);

            //Assert
            response.StatusCode.Should().Be(HttpStatusCode.OK);

            var responseSuite = response.GetResponseSuiteModel();

            SuiteAssert.ValidateSuiteResult(updateSuiteModel, responseSuite);
        }
Exemplo n.º 4
0
        public async Task CreateProject_WhenUnAuthorized_ShouldReturnUnauthorized()
        {
            //Act
            var response = await _projectService.AddProject(ProjectFactory.GetProjectModel());

            //Assert
            response.ResponseStatusCode(HttpStatusCode.Unauthorized, "Expected Unauthorized status.");
            var error = await response.GetErrors();

            ErrorAssertion.ErrorAssert(error, ErrorMessageConstants.AuthenticationFailedMessage);
        }
Exemplo n.º 5
0
        public async Task DeleteProject_WhenProjectIdIsCorrect_ShouldReturnOk()
        {
            //Arrange
            SetUpAuthorization();
            var projectModel = await _projectSteps.AddProject(ProjectFactory.GetProjectModel());

            //Act
            var response = await _projectService.Delete(projectModel.Id);

            //Assert
            response.ResponseStatusCode(HttpStatusCode.OK, "Expected OK status.");
        }
Exemplo n.º 6
0
        public async Task GetProject_WhenProjectIsExisted_ShouldReturnOk()
        {
            //Arrange
            SetUpAuthorization();
            var createdProject = await _projectSteps.AddProject(ProjectFactory.GetProjectModel());

            //Act
            var response = await _projectService.GetProject(createdProject.Id);

            //Assert
            response.ResponseStatusCode(HttpStatusCode.OK, "Expected OK status.");
            var responseProject = await response.GetContentModel <ProjectResponse>();

            ProjectAssertion.AssertProject(createdProject, responseProject);
        }
Exemplo n.º 7
0
        public async Task AddProject_ShouldReturnOK()
        {
            //Arrange
            SetAuthorization();
            var projectModel = ProjectFactory.GetProjectModel();

            //Act
            var response = await ProjectService.AddProject(projectModel);

            //Assert
            response.StatusCode.Should().Be(HttpStatusCode.OK);

            var responseProject = response.GetResponseProjectModel();

            ProjectAssert.ValidateProjectResult(projectModel, responseProject);
        }
Exemplo n.º 8
0
        public static IEnumerable <object[]> ProjectMissingValues()
        {
            var missingName = ProjectFactory.GetProjectModel();

            missingName.Name = null;

            var serializeModel = JsonConvert.SerializeObject(missingName);

            return(new List <object[]>()
            {
                new object[]
                {
                    serializeModel
                }
            });
        }
Exemplo n.º 9
0
        public async Task DeleteProject_WhenProject_ShouldReturnOK()
        {
            //Arrange
            SetAuthorization();

            var projectModel = ProjectFactory.GetProjectModel();
            var project      = await ProjectService.AddProject(projectModel);

            var projectId = ProjectSteps.GetProjectId(project);

            //Act
            var response = await ProjectService.DeleteProject(projectId);

            //Assert
            response.StatusCode.Should().Be(HttpStatusCode.OK);
        }
Exemplo n.º 10
0
        public static IEnumerable <object[]> ProjectIncorrectValues()
        {
            var incorrectName = ProjectFactory.GetProjectModel();

            incorrectName.Name = new Faker().Random.AlphaNumeric(NotesValidationConstants.NotesMaxLength + 1);
            var serializeProject = JsonConvert.SerializeObject(incorrectName);


            return(new List <object[]>()
            {
                new object[]
                {
                    serializeProject,
                    ErrorMessageConstants.IncorrectNameMessage
                }
            });
        }
Exemplo n.º 11
0
        public async Task AddProject_WhenUnauthorized_ShouldReturnUnauthorized()
        {
            //Arrange
            ClientExtended.ClearAuthorization();

            var projectModel = ProjectFactory.GetProjectModel();

            //Act
            var response = await ProjectService.AddProject(projectModel);

            //Assert
            response.StatusCode.Should().Be(HttpStatusCode.Unauthorized);

            var errorMessage = response.GetErrors();

            ErrorAssert.ValidateErrorMessage(errorMessage, ErrorMessage.FailedAuthentication);
        }
Exemplo n.º 12
0
        public async Task AddProject_WhenFieldsHaveCorrectValues_ShouldReturnOK()
        {
            //Arrange
            SetUpAuthorization();
            var projectModel = ProjectFactory.GetProjectModel();

            //Act
            var response = await _projectService.AddProject(projectModel);

            //Assert
            response.ResponseStatusCode(HttpStatusCode.OK, "Expected OK status.");
            var responseModel = await response.GetContentModel <ProjectResponse>();

            var expectedResponse = ProjectResponseFactory.GetProjectResponse(projectModel);

            ProjectAssertion.AssertProject(expectedResponse, responseModel);
        }
Exemplo n.º 13
0
        public async Task AddSuite_WhenProjectIsNotExist_ShouldReturnBadRequest()
        {
            //Arrange
            SetUpAuthorization();
            var project = await _projectSteps.AddProject(ProjectFactory.GetProjectModel());

            var suiteModel = SuiteFactory.GetSuiteModel();
            await _projectService.Delete(project.Id);

            //Act
            var response = await _suiteService.AddSuite(project.Id, suiteModel);

            //Assert
            response.ResponseStatusCode(HttpStatusCode.BadRequest, "Expected BadRequest status.");
            var error = await response.GetErrors();

            ErrorAssertion.ErrorAssert(error, ErrorMessageConstants.NotAValidProjectIdMessage);
        }
Exemplo n.º 14
0
        public async Task AddSuite_WhenFieldsHaveCorrectValues_ShouldReturnOK_ShouldReturnOk()
        {
            //Arrange
            SetUpAuthorization();
            var project = await _projectSteps.AddProject(ProjectFactory.GetProjectModel());

            var suiteModel = SuiteFactory.GetSuiteModel();

            //Act
            var response = await _suiteService.AddSuite(project.Id, suiteModel);

            //Assert
            response.ResponseStatusCode(HttpStatusCode.OK, "Expected OK status.");
            var responseModel = await response.GetContentModel <SuiteResponse>();

            var expectedResponse = SuiteResponseFactory.SuiteResponseModel(suiteModel);

            SuiteAssertion.AssertSuite(expectedResponse, responseModel);
        }
Exemplo n.º 15
0
        public async Task CreateProject_WhenUnAuthorized_ShouldReturnUnauthorized()
        {
            //Arrange
            SetUpAuthorization();
            var project = await _projectSteps.AddProject(ProjectFactory.GetProjectModel());

            var suiteModel = SuiteFactory.GetSuiteModel();

            ClearAuthorization();

            //Act
            var response = await _suiteService.AddSuite(project.Id, suiteModel);

            //Assert
            response.ResponseStatusCode(HttpStatusCode.Unauthorized, "Expected Unauthorized status.");
            var error = await response.GetErrors();

            ErrorAssertion.ErrorAssert(error, ErrorMessageConstants.AuthenticationFailedMessage);
        }
Exemplo n.º 16
0
        public async Task DeleteProject_WhenProjectWasDeleted_ShouldReturnBadRequest()
        {
            //Arrange
            SetUpAuthorization();
            var projectModel = await _projectSteps.AddProject(ProjectFactory.GetProjectModel());

            await _projectService.Delete(projectModel.Id);

            //Act
            var deleteResponse = await _projectService.Delete(projectModel.Id);

            var getResponse = await _projectService.GetProject(projectModel.Id);

            //Assert
            deleteResponse.ResponseStatusCode(HttpStatusCode.BadRequest, "Expected BadRequest status");
            getResponse.ResponseStatusCode(HttpStatusCode.BadRequest, "Expected BadRequest status.");
            var error = await deleteResponse.GetErrors();

            ErrorAssertion.ErrorAssert(error, ErrorMessageConstants.NotAValidProjectIdMessage);
        }
Exemplo n.º 17
0
        public async Task UpdateSuite_WhenSuiteIsExistedShouldReturnOk()
        {
            //Arrange
            SetUpAuthorization();
            var project = await _projectSteps.AddProject(ProjectFactory.GetProjectModel());

            var createdSuite = await _suiteSteps.AddSuite(project.Id, SuiteFactory.GetSuiteModel());

            var suiteModel    = SuiteFactory.GetSuiteModel();
            var expectedSuite = SuiteResponseFactory.SuiteResponseModel(suiteModel);

            //Act
            var response = await _suiteService.UpdateSuite(createdSuite.Id, suiteModel);

            //Assert
            response.ResponseStatusCode(HttpStatusCode.OK, "Expected OK status.");
            var responseSuite = await response.GetContentModel <SuiteResponse>();

            SuiteAssertion.AssertSuite(expectedSuite, responseSuite);
        }
Exemplo n.º 18
0
        public async Task AddSuite_WhenRequiredFieldHasIncorrectValue_ShouldReturnBadRequest(string serializedProject,
                                                                                             string typeOfError)
        {
            //Arrange
            SetAuthorization();

            var projectModel = ProjectFactory.GetProjectModel();
            var project      = await ProjectService.AddProject(projectModel);

            var projectId  = ProjectSteps.GetProjectId(project);
            var suiteModel = NewtonsoftJsonSerializer.DefaultDeserialize <RequestSuiteModel>(serializedProject);

            //Act
            var response = await SuiteService.AddSuite(projectId, suiteModel);

            //Assert
            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var responseMessage = response.GetErrors();

            ErrorAssert.ValidateErrorMessage(responseMessage, typeOfError);
        }
Exemplo n.º 19
0
        public async Task DeleteProject_WhenDeleteProjectHasAlreadyBeenDeleted_ShouldReturnBadRequest()
        {
            //Arrange
            SetAuthorization();

            var projectModel = ProjectFactory.GetProjectModel();
            var project      = await ProjectService.AddProject(projectModel);

            var projectId = ProjectSteps.GetProjectId(project);
            await ProjectService.DeleteProject(projectId);

            //Act
            var response = await ProjectService.DeleteProject(projectId);

            await ProjectService.GetProject(projectId);

            //Assert
            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var responseMessage = response.GetErrors();

            ErrorAssert.ValidateErrorMessage(responseMessage, ErrorMessage.IncorrectProjectId);
        }
Exemplo n.º 20
0
        public async Task AddSuite_WhenProjectDoesNotExist_ShouldReturnBadRequest()
        {
            //Arrange
            SetAuthorization();

            var suiteModel   = SuiteFactory.GetSuiteModel();
            var projectModel = ProjectFactory.GetProjectModel();

            var project = await ProjectService.AddProject(projectModel);

            var projectId = ProjectSteps.GetProjectId(project);

            await ProjectService.DeleteProject(projectId);

            //Act
            var response = await SuiteService.AddSuite(projectId, suiteModel);

            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var responseMessage = response.GetErrors();

            ErrorAssert.ValidateErrorMessage(responseMessage, ErrorMessage.IncorrectProjectId);
        }