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"); }
public static ProductBuilder <T> WithPrice <T>(this ProductBuilder <T> builder, decimal price) where T : Product { builder.Configure(product => product.Price = price); return(builder); }
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); }
public void Should_Not_Create_Product_With_Invalid_CategoryId(int invalidCategoryId) { Assert.Throws <DomainException>(() => ProductBuilder.New().WithCategoryId(invalidCategoryId).Build()) .WithMessage("Category is required"); }
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(); }