小编Jam*_*iah的帖子

在后台ajax加载后,Jquery监听输入字段的更改

我这里有两个Jquery函数,第一个根据用户下拉选择选项执行ajax加载,然后根据返回的值更改输入字段.这很好用.

//perform a background ajax load and get the allocation available if any
$("#ministry").change(function(){
    var ministry=$("#ministry").val();
    var url="/VoteBook/ministry.php?mini="+ministry;
    $.get(url, function(data,status){
        $(".alloc").val(data);
    })
});
Run Code Online (Sandbox Code Playgroud)

然后第二个函数应该监听上面指定的输入字段的变化,如果输入字段中的值是0,它应该禁用表单中的所有输入字段.看来,'jquery on change'功能不会通过输入字段上的ajax检测到更改.任何帮助都非常感谢.

//disable all inputs on allocation field change

$(".alloc").change(function(){
    var allocation=$(".alloc").val();
    if(allocation==0){
        $("#add_vote_form :input").attr('disabled', true);
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript php ajax jquery

5
推荐指数
1
解决办法
682
查看次数

Laravel Mock 应该至少被调用一次但被调用了 0 次

我有一个 artisan 命令,它触发一个名为PasswordResetJob的作业,该作业在调用存储库类OrgRepository中的ForcePasswordReset方法时进行迭代,该方法更新用户的表。整个过程运行良好。

现在,我尝试编写一个 Laravel 测试来模拟OrgRepository类,并断言强制密码重置方法至少被调用一次,根据我提供给测试的条件,情况应该是这样。在测试中,我调用artisan命令来解雇工作;(我正在使用同步队列进行测试)当作业被调用并且用户的表被更新时,这工作得很好,因为我可以直接查看数据库更新。但是,测试失败并出现错误:Mockery\Exception\InvalidCountException:Mockery_2_Repositories_OrgRepository 中的方法forcePasswordReset() 应该至少调用 1 次,但调用了 0 次。

测试中的工匠调用是:

Artisan::call('shisiah:implement-org-password-reset');
Run Code Online (Sandbox Code Playgroud)

我之前和模拟初始化之后都尝试过进行 artisan 调用,但仍然遇到相同的错误。这是测试中的模拟初始化

$this->spy(OrgRepository::class, function ($mock) {
        $mock->shouldHaveReceived('forcePasswordReset');
    });
Run Code Online (Sandbox Code Playgroud)

我缺少什么?我已经阅读了文档并通过谷歌搜索了几个小时。如果您需要任何其他信息来帮助,请告诉我。我使用的是Laravel 6.0 版本

编辑

我将OrgRepository类传递给作业类的handle方法,如下所示:

 public function handle(OrgRepository $repository)
{
    //get orgs
    $orgs = Org::where('status', true)->get();

    foreach ($orgs as $org){
       $repository->forcePasswordReset($org);
    }
}
Run Code Online (Sandbox Code Playgroud)

php phpunit laravel mockery laravel-6

3
推荐指数
1
解决办法
3939
查看次数

标签 统计

php ×2

ajax ×1

javascript ×1

jquery ×1

laravel ×1

laravel-6 ×1

mockery ×1

phpunit ×1