public async Task Should_create_new_AssetDefinition()
        {
            //Arrange
            var createAssetDefinitionRequest = new CreateAssetDefinitionRequest()
            {
                AssetDefinitionDto = new AssetDefinitionDto
                {
                    Name = AssetDefinitionName,
                    Url  = AssetDefinitionUrl,
                    MetricDefinitions = new List <MetricDefinitionDto>
                    {
                        new MetricDefinitionDto {
                            Name = "Assay", Default = "0.9999", UnitOfMeasure = "Fineness", Description = "A Bar of Gold", SampleValue = "0.9999", Regex = @"^0([.,])\d+"
                        },
                        new MetricDefinitionDto {
                            Name = "Bar Serial #", Description = "The serial number of the bar of gold", SampleValue = "123456", UnitOfMeasure = "Identifier"
                        }
                    }
                }
            };

            //Act
            CreateAssetDefinitionResponse createAssetDefinitionResponse = await SendAsync(createAssetDefinitionRequest);

            //Assert
            createAssetDefinitionResponse.AssetDefinition.ShouldNotBeNull();
            AssetDefinitionDto assetDefinition = createAssetDefinitionResponse.AssetDefinition;

            assetDefinition.Name.ShouldBe(AssetDefinitionName);
            assetDefinition.Url.ShouldBe(AssetDefinitionUrl);
            assetDefinition.MetricDefinitions.Count.ShouldBe(2);
        }
Ejemplo n.º 2
0
        public void Should_be_valid()
        {
            var assetDefinitionDto = new AssetDefinitionDto
            {
                Name = "SomeName",
                Url  = "SomeUrl",
                Logo = File.ReadAllBytes("TestData/Logos/toast.jpg"),
                MetricDefinitions = new List <MetricDefinitionDto>
                {
                    new MetricDefinitionDto {
                        Name = "Metric 1", Default = "Metric 1 Default", UnitOfMeasure = "Metric 1 UofM", Description = "Metric 1 Description", SampleValue = "Metric 1 Sample Value", Regex = @"Metric 1 Regex"
                    },
                    new MetricDefinitionDto {
                        Name = "Metric 2", Default = "Metric 2 Default", UnitOfMeasure = "Metric 2 UofM", Description = "Metric 2 Description", SampleValue = "Metric 2 Sample Value", Regex = @"Metric 2 Regex"
                    },
                    new MetricDefinitionDto {
                        Name = "Metric 3", Default = "Metric 3 Default", UnitOfMeasure = "Metric 3 UofM", Description = "Metric 3 Description", SampleValue = "Metric 3 Sample Value", Regex = @"Metric 3 Regex"
                    },
                }
            };

            //Act
            var validator = new AssetDefinitionDtoValidator();
            ValidationResult validationResult = validator.Validate(assetDefinitionDto);

            //Assert
            validationResult.IsValid.ShouldBeTrue();
        }
        public async Task Should_get_AssetDefinition()
        {
            //Arrange
            // Build the AssetDefinition
            var assetDefinition = new AssetDefinition()
            {
                Name = AssetDefinitionName,
                Url  = AssetDefinitionUrl,
            };

            var metricDefinitions = new MetricDefinition[]
            {
                new MetricDefinition {
                    Name = "Assay", Default = "0.9999", UnitOfMeasure = "Fineness", Description = "A Bar of Gold", SampleValue = "0.9999", Regex = @"^0([.,])\d+"
                },
                new MetricDefinition {
                    Name = "Bar Serial #", Description = "The serial number of the bar of gold", SampleValue = "123456", UnitOfMeasure = "Identifier"
                }
            };

            assetDefinition.MetricDefinitions = metricDefinitions;

            await InsertAsync(assetDefinition);

            var getAssetDefinitionRequest = new GetAssetDefinitionRequest
            {
                AssetDefinitionId = assetDefinition.AssetDefinitionId
            };

            //Act
            GetAssetDefinitionResponse getAssetDefinitionResponse = await SendAsync(getAssetDefinitionRequest);

            //Assert
            getAssetDefinitionResponse.AssetDefinition.ShouldNotBeNull();
            AssetDefinitionDto assetDefinitionDto = getAssetDefinitionResponse.AssetDefinition;

            assetDefinitionDto.Name.ShouldBe(AssetDefinitionName);
            assetDefinitionDto.Url.ShouldBe(AssetDefinitionUrl);
            assetDefinitionDto.MetricDefinitions.Count.ShouldBe(2);
            assetDefinitionDto.MetricDefinitions[0].Description.ShouldBe(assetDefinition.MetricDefinitions[0].Description);
        }
 public CreateAssetDefinitionRequest()
 {
     AssetDefinition = new AssetDefinitionDto();
 }