public void InteractorCallsRepositoryToStoreInformation()
        {
            var request       = new StoreInformationRequest {
            };
            var repositorySpy = new StoreInformationRepositorySpy();
            var interactor    = new StoreInformationInteractor(repositorySpy);

            interactor.Execute(request);

            Assert.Equal(1, repositorySpy.NumberOfStoreInformationCalls);
        }
        public void InteractorCallsRepositoryWithBasicInformationFromRequest()
        {
            var id      = Guid.NewGuid().ToString();
            var request = new StoreInformationRequest {
                Id = id
            };
            var repositorySpy = new StoreInformationRepositorySpy();
            var interactor    = new StoreInformationInteractor(repositorySpy);

            interactor.Execute(request);

            Assert.Equal(id, repositorySpy.LastRequest.Id);
        }
Exemplo n.º 3
0
        public void StoreInformation(InformationRequest request)
        {
            var storeInformationRequest = new StoreInformationRequestFromServiceRequestFactory(
                new IStringToObject[] {
                new NullableBooleanFromStringFactory(),
                new NullableIntegerFromStringFactory(),
                new NullableDateTimeFromStringFactory()
            }
                ).CreateRequest(request);

            var mongoClient = new MongoClient();
            var repository  = new StoreInformationMongoDatabaseRepository(mongoClient.GetDatabase("information-store"));
            var interactor  = new StoreInformationInteractor(repository);

            interactor.Execute(storeInformationRequest);
        }
        public void InteractorCallsRepositoryWithInformationPropertiesFromRequest()
        {
            var id      = Guid.NewGuid().ToString();
            var request = new StoreInformationRequest
            {
                Properties = new[] {
                    new InformationProperty {
                        Name = "title", Values = new[] { "Sportschuh" }
                    },
                    new InformationProperty {
                        Name = "price", Values = new object[] { 12.45 }
                    }
                }
            };
            var repositorySpy = new StoreInformationRepositorySpy();
            var interactor    = new StoreInformationInteractor(repositorySpy);

            interactor.Execute(request);

            Assert.Equal(
                JsonConvert.SerializeObject(request.Properties),
                JsonConvert.SerializeObject(repositorySpy.LastRequest.Properties)
                );
        }