public void SetUp() { providerRepository = A.Fake <IRepository>(); providerData = new ProviderData { Id = Guid.Parse("666f730d-876b-42e4-a59b-254aba887f9d"), ProviderId = Guid.Parse("268798db-72c9-4246-98bb-6be06d88090c"), Products = new ProductData[0], Timestamp = DateTime.FromFileTimeUtc(1576674756L) }; A.CallTo(() => providerRepository.FindByProviderId(Guid.Empty)) .WithAnyArguments() .Returns(providerData); A.CallTo(() => providerRepository.RemoveById(Guid.Empty)) .WithAnyArguments(); A.CallTo(() => providerRepository.Save(providerData)) .WithAnyArguments(); A.CallTo(() => providerRepository.Update(providerData)) .WithAnyArguments(); productsReference = A.Fake <IProductsReference>(); A.CallTo(() => productsReference.FindCodeByName("")) .WithAnyArguments() .Returns(null); productsReferenceBuilder = A.Fake <IProductsReferenceBuilder>(); A.CallTo(() => productsReferenceBuilder.GetInstance()) .Returns(productsReference); measureUnitsReference = A.Fake <IMeasureUnitsReference>(); A.CallTo(() => measureUnitsReference.FindByCode(null)) .WithAnyArguments() .Returns(null); measureUnitsReferenceBuilder = A.Fake <IMeasureUnitsReferenceBuilder>(); A.CallTo(() => measureUnitsReferenceBuilder.GetInstance()) .Returns(measureUnitsReference); A.CallTo(() => productsReference.FindCodeByName("Banana")) .Returns(42); A.CallTo(() => measureUnitsReference.FindByCode("u")) .Returns(new MeasureUnit()); goodProduct = new ProductData { Id = Guid.Parse("4279c077-b7fb-4aed-bf35-5794ab327ce7"), MeasureUnitCode = "u", Name = "Banana", Price = 10.000m }; productWithInvalidName = new ProductData { Id = Guid.Parse("4279c077-b7fb-4aed-bf35-5794ab327ce7"), MeasureUnitCode = "u", Name = "Apple", Price = 10.000m }; productWithInvalidMeasureUnit = new ProductData { Id = Guid.Parse("4279c077-b7fb-4aed-bf35-5794ab327ce7"), MeasureUnitCode = "m", Name = "Banana", Price = 10.000m }; productWithInvalidPrice = new ProductData { Id = Guid.Parse("4279c077-b7fb-4aed-bf35-5794ab327ce7"), MeasureUnitCode = "u", Name = "Banana", Price = -10.000m }; products = new Dictionary <string, ProductData> { { "good", goodProduct }, { "name", productWithInvalidName }, { "unit", productWithInvalidMeasureUnit }, { "price", productWithInvalidPrice } }; providerProcessor = new ProviderProcessor(providerRepository, productsReferenceBuilder, measureUnitsReferenceBuilder, new ProductValidator(productsReferenceBuilder, measureUnitsReferenceBuilder)); }
public ProductValidator(IProductsReference productsReference, IMeasureUnitsReference measureUnitsReference) { this.productsReference = productsReference; this.measureUnitsReference = measureUnitsReference; }