Ejemplo n.º 1
0
        public async Task UnvoidRequirementDefinition_AsAdmin_ShouldUnvoidRequirementDefinition_AndUpdateAndRowVersion()
        {
            // Arrange
            var reqTypeIdUnderTest = ReqTypeAIdUnderTest;
            var reqDefId           = await RequirementTypesControllerTestsHelper.CreateRequirementDefinitionAsync(
                UserType.LibraryAdmin, TestFactory.PlantWithAccess,
                reqTypeIdUnderTest,
                Guid.NewGuid().ToString());

            var reqDef =
                await RequirementTypesControllerTestsHelper.GetRequirementDefinitionDetailsAsync(UserType.LibraryAdmin, TestFactory.PlantWithAccess,
                                                                                                 reqTypeIdUnderTest, reqDefId);

            var currentRowVersion = await RequirementTypesControllerTestsHelper.VoidRequirementDefinitionAsync(
                UserType.LibraryAdmin, TestFactory.PlantWithAccess,
                reqTypeIdUnderTest,
                reqDefId,
                reqDef.RowVersion);

            // Act
            var newRowVersion = await RequirementTypesControllerTestsHelper.UnvoidRequirementDefinitionAsync(
                UserType.LibraryAdmin, TestFactory.PlantWithAccess,
                reqTypeIdUnderTest,
                reqDefId,
                currentRowVersion);

            // Assert
            AssertRowVersionChange(currentRowVersion, newRowVersion);
            reqDef = await RequirementTypesControllerTestsHelper.GetRequirementDefinitionDetailsAsync(UserType.LibraryAdmin, TestFactory.PlantWithAccess, reqTypeIdUnderTest, reqDefId);

            Assert.IsFalse(reqDef.IsVoided);
        }
 public async Task UnvoidRequirementDefinition_AsPreserver_ShouldReturnForbidden_WhenPermissionMissing()
 => await RequirementTypesControllerTestsHelper.UnvoidRequirementDefinitionAsync(
     UserType.Preserver, TestFactory.PlantWithAccess,
     9999,
     8888,
     TestFactory.AValidRowVersion,
     HttpStatusCode.Forbidden);
 public async Task UnvoidRequirementDefinition_AsAdmin_ShouldReturnForbidden_WhenNoAccessToPlant()
 => await RequirementTypesControllerTestsHelper.UnvoidRequirementDefinitionAsync(
     UserType.LibraryAdmin, TestFactory.PlantWithoutAccess,
     9999,
     8888,
     TestFactory.AValidRowVersion,
     HttpStatusCode.Forbidden);
 public async Task UnvoidRequirementDefinition_AsAnonymous_ShouldReturnUnauthorized()
 => await RequirementTypesControllerTestsHelper.UnvoidRequirementDefinitionAsync(
     UserType.Anonymous, TestFactory.UnknownPlant,
     9999,
     8888,
     TestFactory.AValidRowVersion,
     HttpStatusCode.Unauthorized);
 public async Task UnvoidRequirementDefinition_AsAdmin_ShouldReturnBadRequest_WhenUnknownRequirementTypeOrRequirementDefinitionId()
 => await RequirementTypesControllerTestsHelper.UnvoidRequirementDefinitionAsync(
     UserType.LibraryAdmin, TestFactory.PlantWithAccess,
     ReqTypeAIdUnderTest,
     ReqDefInReqTypeBIdUnderTest,     // req def in other RequirementType
     TestFactory.AValidRowVersion,
     HttpStatusCode.BadRequest,
     "Requirement type and/or requirement definition doesn't exist!");
 public async Task UnvoidRequirementDefinition_AsAdmin_ShouldReturnBadRequest_WhenUnknownPlant()
 => await RequirementTypesControllerTestsHelper.UnvoidRequirementDefinitionAsync(
     UserType.LibraryAdmin, TestFactory.UnknownPlant,
     9999,
     8888,
     TestFactory.AValidRowVersion,
     HttpStatusCode.BadRequest,
     "is not a valid plant");