public Product Construct()
        {
            ProductBuilder builder = new ProductBuilder();

            builder.SetProperty1(4);
            builder.SetProperty2("Some property vale");

            return builder.GetResult();
        }
        public void Initialise()
        {
           this.plugin = new ExcessAndDeductibleDataSetValidationPlugin();
           this.componentMetadata = MockRepository.GenerateStub<IComponentMetadata>();
          // var headerVersionBuilder = new BusinessComponentBuilder<HeaderVersion>().Build();
          // var sdvBuilder = new BusinessComponentBuilder<SectionDetailVersion>().Build();
          // var coverageBuilder = new BusinessComponentBuilder<CoverageVersion>().Build();
            var hdr = new BusinessComponentBuilder<Header>()
                .Add(new BusinessComponentBuilder<HeaderVersion>()
                    .SetProperty(a => a.IsLatestVersion = true))
                .Add(new BusinessComponentBuilder<Section>()
                    .Add(new BusinessComponentBuilder<SectionVersion>()
                        .SetProperty(a => a.IsLatestVersion = true))
                    .Add(new BusinessComponentBuilder<SectionDetail>()
                        .Add(new BusinessComponentBuilder<SectionDetailVersion>()
                            .SetProperty(a => a.IsLatestVersion = true))
                        .Add(new BusinessComponentBuilder<Coverage>()
                            .Add(new BusinessComponentBuilder<CoverageVersion>()
                                .SetProperty(a => a.IsLatestVersion = true))))).Build();

            this.componentMetadata = MockRepository.GenerateStub<IComponentMetadata>();
            var genericDataTypeVersion = new ProductBuilder<GenericDataTypeVersion>(this.componentMetadata).Build();
            genericDataTypeVersion.GenericDataTypeComponent = new GenericDataType { Code = "AND2" };

            this.header = hdr;
            this.headerVersion = this.header.HeaderVersions[0];
            this.headerVersion.CreateGenericDataSet();
            this.sectionDetailVersion = this.header.Sections[0].SectionDetails[0].SectionDetailVersions[0];
            this.sectionDetailVersion.CreateGenericDataSet();
            this.coverageVersion = this.header.Sections[0].SectionDetails[0].Coverages[0].CoverageVersions[0];
            this.coverageVersion.CreateGenericDataSet();

            this.businessTransaction = MockRepository.GenerateStub<IBusinessTransaction>();
            this.businessTransaction.Component = hdr;

            var metadata = MockRepository.GenerateStub<IMetadataQuery>();
            metadata.Stub(a => a.GetGenericDataTypeVersion(0, DateTime.Now)).IgnoreArguments().Return(new GenericDataTypeVersion { GenericDataTypeVersionID = 0 });
            var container = new UnityContainer();
            container.RegisterInstance<IMetadataQuery>(metadata);
            container.RegisterInstance<IComponentMetadata>(this.componentMetadata);
            container.RegisterInstance<IMessageService>(new MockMessagingService());
            ObjectFactory.Instance = new ObjectFactory(container);
        }
	// Methods
	public virtual void Add(ProductBuilder builder) {}
        public void Initialise()
        {
            var container = new UnityContainer();

            this.RegisterAuthorityChecks(container);

            var claimTransaction = new BusinessComponentBuilder<ClaimTransactionHeader>();

            this.currentUser = CreateUser("CurrenUserIdentity", 1, 10);
            this.targetUser1 = CreateUser("TargetUser1Identity", 2, 10);
            this.targetUser2 = CreateUser("TargetUser2Identity", 3, 0);

            var componentMetadata = MockRepository.GenerateStub<IComponentMetadata>();
            container.RegisterInstance<IComponentMetadata>(componentMetadata);
            var product = new ProductBuilder<ProductVersion>(componentMetadata)
                            .SetProperty(a => a.GradeStructureType = GradeStructureCode) 
                            .Add(new ProductBuilder<ProductClaimDefinition>(componentMetadata)
                                .SetProperty(a => a.IsManualAuthorisationAlwaysAllowedIfNoChecksAreActive = true))
                         .Build();

            this.productClaimDefinition = product.ProductClaimDefinition;

            ObjectFactory.Instance = new ObjectFactory(container);

            var clmHeader = new BusinessComponentBuilder<ClaimHeader>()
                      .Add(new BusinessComponentBuilder<ClaimDetail>()
                      .As(out claimDetailRef)
                       .SetProperty(a => a.PolicyLinkLevel = (short)StaticValues.PolicyLinkLevel.Header)
                       .SetProperty(a => a.ProductClaimDetailID = 1)
                       .SetProperty(a => a.ClaimDetailReference = "Claim Detail Reference"))
                      .Add(new BusinessComponentBuilder<ClaimTransactionHeader>()
                        .SetProperty(a => a.IsInProgress = true)
                        .Add(new BusinessComponentBuilder<ClaimTransactionGroup>()
                            .AddRef(claimDetailRef)
                            .SetProperty(a => a.AdministerClaimMethod = 2)))
                  .Build();

            clmHeader.ClaimHeaderAnalysisCode01 = ClaimConstants.CH_ANALYSISCODE_MOTOR;

            this.claimHeader = clmHeader;
            var claimsEntities = MockRepository.GenerateStub<IClaimsQuery>();
            claimsEntities.Stub(a => a.GetClaimTransactionHeader(0)).IgnoreArguments().Return(this.claimHeader.InProgressClaimTransactionHeaders.Single());
            container.RegisterInstance<IClaimsQuery>(claimsEntities);

            this.gradesforStructure = new List<Grade> { CreateGrade(GradeCode2, 3), CreateGrade(GradeCode1, 1) };
            this.usersForGradeCode1 = new List<User> { this.currentUser, this.targetUser1 };
            this.usersForGradeCode2 = new List<User>();
            this.eventDestinations = new List<IEventDestination> { CreateEventDestination(this.targetUser1.UserIdentity, "1"), CreateEventDestination(this.targetUser1.UserIdentity, "2") };

            this.metadataEntities = MockRepository.GenerateStub<IMetadataQuery>();
            this.metadataEntities.Stub(a => a.GetUserIdByUserIdentity(this.currentUser.UserIdentity)).Return(this.currentUser.UserID);
            this.metadataEntities.Stub(a => a.GetUserGradeCode(this.currentUser.UserID, GradeStructureCode, StaticValues.GradeType.Claims)).Do(new Func<long, string, StaticValues.GradeType, string>((x, y, z) => this.userGradeCode));
            this.metadataEntities.Stub(a => a.GetGradesForGradeStructure(GradeStructureCode)).Return(this.gradesforStructure);
            this.metadataEntities.Stub(a => a.GetUsersByGradeCode(GradeCode1)).Return(this.usersForGradeCode1);
            this.metadataEntities.Stub(a => a.GetUsersByGradeCode(GradeCode2)).Return(this.usersForGradeCode2);
            container.RegisterInstance(this.metadataEntities);

            var taskService = MockRepository.GenerateStub<ITaskService>();
            taskService.Stub(a => a.GetActiveEventDestinations(null, null, DateTime.Now, DateTime.Now)).IgnoreArguments().Return(this.eventDestinations);
            taskService.Stub(a => a.GetFinishedEventDestinationByDateRange(null, null, DateTime.Now, DateTime.Now)).IgnoreArguments().Return(this.eventDestinations);
            container.RegisterInstance(taskService);


            IAXAClaimsQuery claimsQuery = MockRepository.GenerateStub<IAXAClaimsQuery>();
            claimsQuery.Stub(s => s.IsUserOutOfOffice(Arg<long>.Is.Anything, out Arg<string>.Out(String.Empty).Dummy)).Return(false);
            container.RegisterInstance<IAXAClaimsQuery>(claimsQuery);

            this.businessSupportRole = ClaimsBusinessLogicHelper.ResolveMandatoryConfig<string>("BusinessSupportRole");
        }
Beispiel #5
0
 public static ProductBuilder <T> WithPrice <T>(this ProductBuilder <T> builder, decimal price)
     where T : Product
 {
     builder.Configure(product => product.Price = price);
     return(builder);
 }
Beispiel #6
0
        public void BuildProductModelTest03()
        {
            // Arrange
            var rules   = MockRepository.GenerateMock <ISiteRules>();
            var product = new Product
            {
                Id           = 1,
                Name         = "MockProduct",
                Manufacturer = new ProductManufacturer {
                    Id = 1, Name = "MockManufacturer"
                },
                CategoryId   = null,
                CategoryName = "MockCategory",
                Variants     = new ProductList
                {
                    new Product {
                        Price = 10, Id = 1, Manufacturer = new ProductManufacturer {
                            PartNo = "555"
                        }, PartNo = "888", OnHand = new OnHand {
                            IsActive = true, Value = 8
                        }, ImageKey = Guid.Empty
                    },
                    new Product {
                        Price = 12, Id = 1, Manufacturer = new ProductManufacturer {
                            PartNo = "556"
                        }, PartNo = "889", OnHand = new OnHand {
                            IsActive = true, Value = 8
                        }, ImageKey = Guid.Empty, VariantParametrics = new ProductParametricList {
                            new ProductParametric {
                                Id = 111, ValueId = 37, ValueIdSeed = "1, 2"
                            }
                        }, Parametrics = new ProductParametricList {
                            new ProductParametric {
                                Id = 111, ValueId = 37, ValueIdSeed = "1, 2"
                            }
                        }, FlagIdSeed = "1,2"
                    }
                },
                Parametrics = new ProductParametricList {
                    new ProductParametric {
                        Id = 111, ValueId = 37, ValueIdSeed = "1, 2"
                    }
                },
                Files = new ProductFileList
                {
                    new ProductFile {
                        Id = (int)ProductFileType.AdditionalImage, Name = "First", Type = (int)FileType.Embedded
                    },
                    new ProductFile {
                        Id = (int)ProductFileType.AdditionalImage, Name = "Second", Type = (int)FileType.Jpg
                    }
                },
                Families = new ProductIdNameDescriptionList {
                    new IdNameDescription {
                        Id = 1, Name = "Family", Description = "Stone", ImageKey = Guid.Empty
                    }
                }
            };

            var stormContext = MockRepository.GenerateMock <IStormContext>();

            stormContext.Stub(x => x.Configuration).Return(new StormConfigurationSection());
            stormContext.Stub(x => x.ShowPricesIncVat).Return(false);
            stormContext.Stub(x => x.CultureCode).Return("sv");
            StormContext.SetInstance(stormContext);

            var dictionary = MockRepository.GenerateMock <IApplicationDictionary>();

            dictionary.Stub(x => x.ParametricInfo(111, "sv")).Return(new ParametricInfo {
                Id = 111, Type = ParametricType.ListValue, ValueType = ParametricValueType.Integer
            });
            dictionary.Stub(x => x.ParametricInfo(112, "sv")).Return(new ParametricInfo {
                Id = 112, Type = ParametricType.MultiValue, ValueType = ParametricValueType.Decimal
            });
            dictionary.Stub(x => x.ParametricInfo(113, "sv")).Return(new ParametricInfo {
                Id = 113, Type = ParametricType.Value, ValueType = ParametricValueType.Date
            });
            dictionary.Stub(x => x.ParametricValue(ParametricType.ListValue, 37, "sv")).Return(new ParametricValue {
                Id = 37, Name = "Valuee", Description = "Desc", Code = "Coode", SortOrder = 1, Type = ParametricType.ListValue.ToString()
            });

            // Act
            var productBuilder = new ProductBuilder(dictionary, rules);
            var result         = productBuilder.BuildProductModel(product);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Families.Count);
            Assert.AreEqual("Family", result.Families[0].Name);
            Assert.AreEqual("Stone", result.Families[0].Description);
            Assert.AreEqual("MockManufacturer", result.Manufacturer.Name);
            Assert.AreEqual(2, result.Files.Count);
            Assert.AreEqual((int)ProductFileType.AdditionalImage, result.Files[1].Type);
            Assert.AreEqual(2, result.Variants.Count);
            Assert.AreEqual(2, result.Variants[1].Flags.Count);
        }
Beispiel #7
0
 public void Should_Not_Create_Product_With_Invalid_CategoryId(int invalidCategoryId)
 {
     Assert.Throws <DomainException>(() => ProductBuilder.New().WithCategoryId(invalidCategoryId).Build())
     .WithMessage("Category is required");
 }
Beispiel #8
0
 public void Should_Not_Create_Product_Without_Brand()
 {
     Assert.Throws <DomainException>(() => ProductBuilder.New().WithBrand(null).Build())
     .WithMessage("Brand is required");
 }
 public ProductTest()
 {
     _productBuilder = new ProductBuilder();
 }