コード例 #1
0
        public void CustomersController_Update_ShouldReturnBadRequestNotValid()
        {
            // Arrange
            var UserFixture      = new UsersTestsFixture();
            var controller       = Fixture.GetCustomersController();
            var customerToUpdate = Fixture.GenerateValidCustomerToUpdate();

            Fixture.CustomerAppServiceMock.Setup(c => c.GetById(1)).Returns(Fixture.GenerateValidCustomerToQuery());
            Fixture.CustomerAppServiceMock.Setup(c => c.IsValid(It.IsAny <Customer>()))
            .Returns(new EntityValidationResult
            {
                Status = false
            });

            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.Update(1, customerToUpdate) as ObjectResult;

            // Assert Fluent Assertions
            response.StatusCode.Should().Be(400);
            var apiResponse = response.Value as ApiResponse;

            apiResponse.Message.Should().Be("Validation failed, please see details");
        }
コード例 #2
0
        public void TestPlansController_Insert_ShouldReturnBadRequestNotValid()
        {
            // Arrange
            var UserFixture      = new UsersTestsFixture();
            var controller       = Fixture.GetTestPlansController();
            var testPlanToInsert = Fixture.GenerateValidTestPlanToInsert();

            Fixture.TestPlanAppServiceMock.Setup(c => c.Add(It.IsAny <TestPlan>())).Returns(2);
            Fixture.TestPlanAppServiceMock.Setup(c => c.IsValid(It.IsAny <TestPlan>()))
            .Returns(new EntityValidationResult
            {
                Status = false
            });

            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.Insert(testPlanToInsert) as ObjectResult;

            // Assert Fluent Assertions
            response.StatusCode.Should().Be(400);
            var apiResponse = response.Value as ApiResponse;

            apiResponse.Message.Should().Be("Validation failed, please see details");
        }
コード例 #3
0
        public void TestSuite_Update_ShouldReturnNotFound()
        {
            // Arrange
            var UserFixture       = new UsersTestsFixture();
            var controller        = Fixture.GetTestSuitesController();
            var testSuiteToUpdate = Fixture.GenerateValidTestSuiteToUpdate();

            Fixture.TestSuiteAppServiceMock.Setup(c => c.GetById(3)).Returns(Fixture.GenerateValidTestSuiteToQuery());
            Fixture.TestSuiteAppServiceMock.Setup(c => c.IsValid(It.IsAny <STARC.Domain.Entities.TestSuite>()))
            .Returns(new EntityValidationResult
            {
                Status = true
            });

            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.Update(2, testSuiteToUpdate) as ObjectResult;

            // Assert Fluent Assertions
            response.StatusCode.Should().Be(404);
            var apiResponse = response.Value as ApiResponse;

            apiResponse.Message.Should().Be("Test Suite Not Found");
        }
コード例 #4
0
        public void CustomersController_ChangeStatus_ShouldUpdateCustomer()
        {
            // Arrange
            var UserFixture = new UsersTestsFixture();
            var controller  = Fixture.GetCustomersController();

            Fixture.CustomerAppServiceMock.Setup(c => c.GetById(1)).Returns(Fixture.GenerateValidCustomerToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.ChangeStatus(1) as NoContentResult;

            // Assert Fluent Assertions
            response.StatusCode.Should().Be(204);
        }
コード例 #5
0
        public void TestSuite_Delete_ShouldDeleteTestSuite()
        {
            // Arrange
            var UserFixture = new UsersTestsFixture();
            var controller  = Fixture.GetTestSuitesController();

            Fixture.TestSuiteAppServiceMock.Setup(c => c.GetById(2)).Returns(Fixture.GenerateValidTestSuiteToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.Delete(2) as NoContentResult;

            // Assert
            response.StatusCode.Should().Be(204);
        }
コード例 #6
0
        public void TestSuite_GetById_ShouldReturnNotFound()
        {
            // Arrange
            var UserFixture = new UsersTestsFixture();
            var controller  = Fixture.GetTestSuitesController();

            Fixture.TestSuiteAppServiceMock.Setup(c => c.GetById(2)).Returns(Fixture.GenerateValidTestSuiteToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.Get(3) as ObjectResult;
            var data     = response.Value as ApiResponse;

            // Assert
            response.StatusCode.Should().Be(404);
            data.Message.Should().Be("Test Suite not Found");
        }
コード例 #7
0
        public void CustomersController_ChangeStatus_ShouldReturnNotFound()
        {
            // Arrange
            var UserFixture = new UsersTestsFixture();
            var controller  = Fixture.GetCustomersController();

            Fixture.CustomerAppServiceMock.Setup(c => c.GetById(1)).Returns(Fixture.GenerateValidCustomerToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.ChangeStatus(2) as ObjectResult;

            // Assert Fluent Assertions
            response.StatusCode.Should().Be(404);
            var apiResponse = response.Value as ApiResponse;

            apiResponse.Message.Should().Be("Customer Not Found");
        }
コード例 #8
0
        public void ProjectsController_GetByUserId_ShouldNotReturnUserInProject()
        {
            // Arrange
            var userFixture = new UsersTestsFixture();
            var controller  = Fixture.GetUsersInProjectsController();

            Fixture.UsersInProjectsAppServiceMock.Setup(c => c.GetByUser(1)).Returns(Fixture.GenerateUsersInProjects(50));
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(userFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.GetByUser(2) as ObjectResult;

            // Assert Fluent Assertions
            response.StatusCode.Should().Be(404);
            var apiResponse = response.Value as ApiResponse;

            apiResponse.Message.Should().Be("User not found");
        }
コード例 #9
0
        public void UsersInProjectsApplication_IsValid_ShouldReturnTrue()
        {
            // Arrange
            var UserFixture    = new UsersTestsFixture();
            var ProjectFixture = new ProjectsTestsFixture();

            var userApp = Fixture.GetUsersInProjectsAppService();
            var user    = Fixture.GenerateValidUsersInProjects();

            Fixture.UserAppServiceMock.Setup(c => c.GetById(2)).Returns(UserFixture.GenerateValidUserToQuery());
            Fixture.ProjectAppServiceMock.Setup(c => c.GetById(1)).Returns(ProjectFixture.GenerateValidProjectToQuery());

            // Act
            EntityValidationResult validation = userApp.IsValid(user);

            // Assert Fluent Assertions
            validation.Status.Should().BeTrue();
            validation.ValidationMessages.Should().HaveCount(c => c == 0);
        }
コード例 #10
0
        public void TestPlansController_GetByProject_ShouldReturnsAllTestPlans()
        {
            // Arrange
            var UserFixture = new UsersTestsFixture();
            var controller  = Fixture.GetTestPlansController();

            Fixture.TestPlanAppServiceMock.Setup(c => c.GetByProject(1)).Returns(Fixture.GetMixedTestPlans());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.GetByProject(1) as ObjectResult;
            var data     = response.Value as ApiResponse;

            // Assert Fluent Assertions
            data.State.Should().Be(ApiResponseState.Success);
            var testPlans = data.Data as IEnumerable <TestPlanToQueryViewModel>;

            testPlans.Should().HaveCount(c => c == 100);
        }
コード例 #11
0
        public void TestCaseApplication_IsValid_ShouldReturnTrue()
        {
            // Arrange
            var TestSuiteFixture = new TestSuitesTestsFixture();
            var UserFixture      = new UsersTestsFixture();

            var app      = Fixture.GetTestCaseAppService();
            var testCase = Fixture.GenerateValidTestCase();

            Fixture.TestSuiteAppServiceMock.Setup(c => c.GetById(1)).Returns(TestSuiteFixture.GenerateValidTestSuiteToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            EntityValidationResult validation = app.IsValid(testCase);

            // Assert Fluent Assertions
            validation.Status.Should().BeTrue();
            validation.ValidationMessages.Should().HaveCount(c => c == 0);
        }
コード例 #12
0
        public void ProjectsController_GetByUserId_ShouldReturnUserInProject()
        {
            // Arrange
            var userFixture = new UsersTestsFixture();
            var controller  = Fixture.GetUsersInProjectsController();

            Fixture.UsersInProjectsAppServiceMock.Setup(c => c.GetByUser(1)).Returns(Fixture.GenerateUsersInProjects(50));
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(userFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.GetByUser(1) as ObjectResult;
            var data     = response.Value as ApiResponse;

            // Assert Fluent Assertions
            data.State.Should().Be(ApiResponseState.Success);
            var projects = data.Data as IEnumerable <UsersInProjectsToQueryViewModel>;

            projects.Should().HaveCount(c => c == 50);
        }
コード例 #13
0
        public void ProjectApplication_IsValid_ShouldReturnTrue()
        {
            // Arrange
            var CustomerFixture = new CustomersTestsFixture();
            var UserFixture     = new UsersTestsFixture();

            var projectApp = Fixture.GetProjectAppService();
            var project    = Fixture.GenerateValidProject();

            Fixture.CustomerAppServiceMock.Setup(c => c.GetById(1)).Returns(CustomerFixture.GenerateValidCustomerToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            EntityValidationResult validation = projectApp.IsValid(project);

            // Assert Fluent Assertions
            validation.Status.Should().BeTrue();
            validation.ValidationMessages.Should().HaveCount(c => c == 0);
        }
コード例 #14
0
        public void ProjectsController_GetActive_ShouldReturnsActiveProjects()
        {
            // Arrange
            var UserFixture = new UsersTestsFixture();
            var controller  = Fixture.GetProjectsController();

            Fixture.ProjectAppServiceMock.Setup(c => c.GetActiveByCustomer(1)).Returns(Fixture.GetActiveProjects());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.GetActiveByCustomer(1) as ObjectResult;
            var data     = response.Value as ApiResponse;

            // Assert Fluent Assertions
            data.State.Should().Be(ApiResponseState.Success);
            var projects = data.Data as IEnumerable <ProjectToQueryViewModel>;

            projects.Should().HaveCount(c => c == 50);
            projects.Should().NotContain(c => !c.Status);
        }
コード例 #15
0
        public void TestSuite_GetById_ShouldReturnTestSuite()
        {
            // Arrange
            var UserFixture = new UsersTestsFixture();
            var controller  = Fixture.GetTestSuitesController();

            Fixture.TestSuiteAppServiceMock.Setup(c => c.GetById(2)).Returns(Fixture.GenerateValidTestSuiteToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.Get(2) as ObjectResult;
            var data     = response.Value as ApiResponse;

            // Assert
            response.StatusCode.Should().Be(200);
            var testSuite = data.Data as TestSuiteToQueryViewModel;

            testSuite.Should().NotBeNull();
            testSuite.TestSuiteId.Should().Be(1);
        }
コード例 #16
0
        public void TestPlanApplication_IsValid_ShouldReturnFalseAndMessageInvalidOwner()
        {
            var ProjectFixture = new ProjectsTestsFixture();
            var UserFixture    = new UsersTestsFixture();

            // Arrange
            var testPlanApp = Fixture.GetTestPlanAppService();
            var testPlan    = Fixture.GenerateTestPlanWithInvalidOwner();

            Fixture.ProjectAppServiceMock.Setup(c => c.GetById(1)).Returns(ProjectFixture.GenerateValidProjectToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            EntityValidationResult validation = testPlanApp.IsValid(testPlan);

            // Assert Fluent Assertions
            validation.Status.Should().BeFalse();
            validation.ValidationMessages.Should().HaveCount(c => c == 1);
            validation.ValidationMessages[0].Should().Be("Owner Not Found");
        }
コード例 #17
0
        public void ProjectApplication_IsValid_ShouldReturnFalseAndMessageInvalidDates()
        {
            var CustomerFixture = new CustomersTestsFixture();
            var UserFixture     = new UsersTestsFixture();

            // Arrange
            var projectApp = Fixture.GetProjectAppService();
            var project    = Fixture.GenerateProjectWithInvalidDates();

            Fixture.CustomerAppServiceMock.Setup(c => c.GetById(1)).Returns(CustomerFixture.GenerateValidCustomerToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            EntityValidationResult validation = projectApp.IsValid(project);

            // Assert Fluent Assertions
            validation.Status.Should().BeFalse();
            validation.ValidationMessages.Should().HaveCount(c => c == 1);
            validation.ValidationMessages[0].Should().Be("Finish Date must be greater than Start Date");
        }
コード例 #18
0
        public void TestSuite_Insert_ShouldInsertNewTestSuite()
        {
            // Arrange
            var UserFixture       = new UsersTestsFixture();
            var controller        = Fixture.GetTestSuitesController();
            var testSuiteToInsert = Fixture.GenerateValidTestSuiteToInsert();

            Fixture.TestSuiteAppServiceMock.Setup(c => c.Add(It.IsAny <STARC.Domain.Entities.TestSuite>())).Returns(2);
            Fixture.TestSuiteAppServiceMock.Setup(c => c.IsValid(It.IsAny <STARC.Domain.Entities.TestSuite>()))
            .Returns(new EntityValidationResult
            {
                Status = true
            });
            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.Insert(testSuiteToInsert) as ObjectResult;

            // Assert
            response.StatusCode.Should().Be(201);
        }
コード例 #19
0
        public void UsersInProjectsApplication_IsValid_Duplicated_ShouldReturnFalse()
        {
            // Arrange
            var UserFixture    = new UsersTestsFixture();
            var ProjectFixture = new ProjectsTestsFixture();

            var userApp = Fixture.GetUsersInProjectsAppService();
            var user    = Fixture.GenerateValidUsersInProjects();

            Fixture.UsersInProjectsRepositoryMock.Setup(c => c.GetByUserAndProject(2, 1)).Returns(Fixture.GenerateValidUsersInProjectsToQuery());
            Fixture.UserAppServiceMock.Setup(c => c.GetById(2)).Returns(UserFixture.GenerateValidUserToQuery());
            Fixture.ProjectAppServiceMock.Setup(c => c.GetById(1)).Returns(ProjectFixture.GenerateValidProjectToQuery());

            // Act
            EntityValidationResult validation = userApp.IsValid(user);

            // Assert Fluent Assertions
            validation.Status.Should().BeFalse();
            validation.ValidationMessages.Should().HaveCount(c => c == 1);
            validation.ValidationMessages[0].Should().Be("User already associate to project");
        }
コード例 #20
0
        public void CustomersController_Insert_ShouldAddCustomer()
        {
            var UserFixture = new UsersTestsFixture();
            // Arrange
            var controller       = Fixture.GetCustomersController();
            var customerToInsert = Fixture.GenerateValidCustomerToInsert();

            Fixture.CustomerAppServiceMock.Setup(c => c.Add(It.IsAny <Customer>())).Returns(2);
            Fixture.CustomerAppServiceMock.Setup(c => c.IsValid(It.IsAny <Customer>()))
            .Returns(new EntityValidationResult
            {
                Status = true
            });

            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.Insert(customerToInsert) as ObjectResult;

            // Assert Fluent Assertions
            response.StatusCode.Should().Be(201);
        }
コード例 #21
0
        public void CustomersController_Update_ShouldUpdateCustomer()
        {
            var UserFixture = new UsersTestsFixture();

            // Arrange
            var controller       = Fixture.GetCustomersController();
            var customerToUpdate = Fixture.GenerateValidCustomerToUpdate();

            Fixture.CustomerAppServiceMock.Setup(c => c.GetById(1)).Returns(Fixture.GenerateValidCustomerToQuery());
            Fixture.CustomerAppServiceMock.Setup(c => c.IsValid(It.IsAny <Customer>()))
            .Returns(new EntityValidationResult
            {
                Status = true
            });

            Fixture.UserAppServiceMock.Setup(c => c.GetById(1)).Returns(UserFixture.GenerateValidUserToQuery());

            // Act
            var response = controller.Update(1, customerToUpdate) as NoContentResult;

            // Assert Fluent Assertions
            response.StatusCode.Should().Be(204);
        }