public function testErrorHandlingWhenCommandValueBiggerAsJobValue() { $errorHandlerMock = m::mock('Schickling\\QueueChecker\\ErrorHandlers\\ErrorHandlerInterface'); $errorHandlerMock->shouldReceive('handle'); $this->app->instance('Schickling\\QueueChecker\\ErrorHandlers\\ErrorHandlerInterface', $errorHandlerMock); Cache::put('queue-checker-command-value', 3, 0); Cache::put('queue-checker-job-value', 2, 0); Queue::shouldReceive('connected')->once()->andReturn(true); $this->tester->execute(array()); }
public function testOnCartAddedWhenInServiceEnvironment() { //mocks $add_profile_mgr_mock = \Mockery::mock('Giftertipster\\Service\\Add\\AddProfileMgrInterface'); $add_profile_mgr_mock->shouldReceive('getUserAddProfile')->never(); $this->app->instance('Giftertipster\\Service\\Add\\AddProfileMgrInterface', $add_profile_mgr_mock); $add_profile_mgr = \App::make('Giftertipster\\Service\\Add\\AddProfileMgrInterface'); $sales_agent_mgr = \App::make('Giftertipster\\Service\\SalesAgent\\SalesAgentMgrInterface'); \App::shouldReceive('environment')->atLeast('once')->andReturn('service'); \App::shouldReceive('make')->with('Giftertipster\\Service\\Add\\AddProfileMgrInterface')->andReturn($add_profile_mgr); \App::shouldReceive('make')->with('Giftertipster\\Service\\SalesAgent\\SalesAgentMgrInterface')->andReturn($sales_agent_mgr); \Queue::shouldReceive('push')->never(); \Session::shouldReceive('get')->never(); \Session::shouldReceive('put')->never(); //action $this->getEventSub()->onCartAdded(1); }
public function testQueueIndexReturnsTrueWhenHighPriorityQueueIsRequested() { $product_attributes = ['id' => 100, 'user_id' => 1, 'title' => 'foobartitle', 'binding' => 'foobar binding', 'brand' => 'foobar brand', 'manufacturer' => 'foobar manufacturer', 'model' => 'foobar model', 'group' => 'foobar group', 'size' => 'foobar size', 'clothing_size' => 'foobar clothing_size', 'min_price_amount' => 10, 'max_price_amount' => 20]; $product_model = Factory::create('Giftertipster\\Entity\\Eloquent\\Product', $product_attributes); $suite_attributes = ['id' => 100, 'user_id' => $product_model->user_id, 'is_refreshed' => 1, 'title' => $product_model->title, 'binding' => $product_model->binding, 'brand' => $product_model->brand, 'manufacturer' => $product_model->manufacturer, 'model' => $product_model->model, 'group' => $product_model->group, 'size' => $product_model->size, 'clothing_size' => $product_model->clothing_size, 'min_price' => $product_model->min_price_amount, 'max_price' => $product_model->max_price_amount, 'features' => [['description' => 'foobar feature 1'], ['description' => 'foobar feature 2']], 'descriptions' => [['value' => 'foobar description 1'], ['value' => 'foobar description 2']], 'sub_products' => [['id' => 'fake sub product', 'features' => [['description' => 'sub product foobar feature 1'], ['description' => 'sub product foobar feature 2']], 'descriptions' => [['value' => 'sub product foobar description 1'], ['value' => 'sub product foobar description 2']]], ['id' => 'fake sub product2', 'features' => [['description' => 'sub product foobar feature 3'], ['description' => 'sub product foobar feature 4']], 'descriptions' => [['value' => 'sub product foobar description 3'], ['value' => 'sub product foobar description 4']]]], 'keyword_profile' => ['profile' => ['keyword1', 'keyword2']], 'category_keywords' => ['category', 'keywords']]; $expected_params_for_product_index_repo = ['fields' => ['_id' => 100, 'user_id' => 1, 'datetime' => $product_model->updated_at->toDateTimeString(), 'title' => $product_model->title, 'descriptions' => ['foobar description 1', 'foobar description 2', 'sub product foobar description 1', 'sub product foobar description 2', 'sub product foobar description 3', 'sub product foobar description 4'], 'features' => ['foobar feature 1', 'foobar feature 2', 'sub product foobar feature 1', 'sub product foobar feature 2', 'sub product foobar feature 3', 'sub product foobar feature 4'], 'binding' => $product_model->binding, 'brand' => $product_model->brand, 'manufacturer' => $product_model->manufacturer, 'model' => $product_model->model, 'group' => $product_model->group, 'size' => $product_model->size, 'clothing_size' => $product_model->clothing_size, 'min_price' => $product_model->min_price_amount, 'max_price' => $product_model->max_price_amount, 'keyword_profile' => ['keyword1', 'keyword2'], 'category_keywords' => ['category', 'keywords'], 'soft_delete_status' => false]]; \Queue::shouldReceive('push')->with('Giftertipster\\Service\\JobHandler\\IndexProduct\\IndexProductInterface', $expected_params_for_product_index_repo, 'high')->once()->andReturn(true); $indexer_service = $this->app->make('Giftertipster\\Service\\ProductSuite\\ProductSuiteIndexer'); $product_suite = $suite_attributes; $product_suite = array_merge($product_model->toArray(), $product_suite); $response = $indexer_service->queueIndex($product_suite, true); }
public function testUpdateAdminAdd() { $this->makeRelatedModels(); $add_attributes = ['add_type_id' => 1, 'product_id' => 1, 'occasion_ids' => [1], 'relation_ids' => [1], 'gender_ids' => [1], 'age_ids' => [1], 'interest_ids' => [1], 'sub_interest_ids' => [1]]; $response = $this->add_repo->create($add_attributes); assertThat($response, equalTo(true)); $add_attributes = ['add_type_id' => 1, 'product_id' => 2, 'occasion_ids' => [1], 'relation_ids' => [1], 'gender_ids' => [1], 'age_ids' => [1], 'interest_ids' => [1], 'sub_interest_ids' => [1]]; $response = $this->add_repo->create($add_attributes); assertThat($response, equalTo(true)); //mocks \Queue::shouldReceive('push')->with('Giftertipster\\Service\\JobHandler\\IndexAdd\\IndexAddInterface', ['fields' => ['formatted_add_stub']], 'low'); $formatter_mock = \Mockery::mock('Giftertipster\\Service\\Add\\AddModelToIndexFormatterInterface'); $formatter_mock->shouldReceive('formatt')->with(Mockery::on(function ($add_model) { if ($add_model['add_type_id'] == 2 && $add_model['occasion_categories'][0]['id'] == 2) { return true; } return false; }))->andReturn(['formatted_add_stub']); $this->app->instance('Giftertipster\\Service\\Add\\AddModelToIndexFormatterInterface', $formatter_mock); //make update $add_attributes = ['add_type_id' => 2, 'occasion_ids' => [2], 'relation_ids' => [2], 'gender_ids' => [2], 'age_ids' => [2], 'interest_ids' => [2], 'sub_interest_ids' => [2]]; $this->add_repo = $this->app->make('Giftertipster\\Repository\\Add\\EloquentAddRepository'); $response = $this->add_repo->updateAdminAdd(2, $add_attributes); $add = $this->eloquent_add->with($this->relations)->find(2)->toArray(); assertThat($add['add_type_id'], equalTo(2)); assertThat($add['product_id'], equalTo(2)); assertThat($add['occasion_categories'][0], hasKeyValuePair('id', 2)); assertThat($add['relation_categories'][0], hasKeyValuePair('id', 2)); assertThat($add['gender_categories'][0], hasKeyValuePair('id', 2)); assertThat($add['age_categories'][0], hasKeyValuePair('id', 2)); assertThat($add['interest_categories'][0], hasKeyValuePair('id', 2)); assertThat($add['sub_interest_categories'][0], hasKeyValuePair('id', 2)); }