[Unit Testing] Based on input value, spyOn function

复制代码
        describe( 'Forgot Password: with username', ()=> {
            let dirElementInput;
            beforeEach( ()=> {
                // Find the input control:
                dirElementInput = directiveElem.find('input');

                // Set some text!
                angular.element(dirElementInput).val('ahto.simakuutio@gmail.com').trigger('input');
                $scope.$apply();
            } );

            it( 'should have username', ()=> {
                expect(directiveCtrl.user.username ).toEqual('ahto.simakuutio@gmail.com');
            } );

            it('should call UserService\'s forgotPassword function', ()=>{

                spyOn(UserService, 'forgotPassword');
                angular.element( directiveElem.find( 'button' )[ 2 ] )
                       .click();
                expect(UserService.forgotPassword).toHaveBeenCalled();
            });
        } );

        describe('Forgot password: without username', ()=>{
            let dirElementInput;
             beforeEach( ()=> {
                 dirElementInput = directiveElem.find('input');
                 angular.element(dirElementInput).val('').trigger('input');
                 $scope.$apply();
             });

            it('should have empty username value', ()=>{
                expect(directiveCtrl.user.username).toBeUndefined();
            });

            it('should not call UserService\'s ForgotPassword function', ()=>{

                spyOn(UserService, 'forgotPassword');
                angular.element( directiveElem.find( 'button' )[ 2 ] )
                       .click();
                expect(UserService.forgotPassword).not.toHaveBeenCalled();
            })
        });
复制代码

 

posted @   Zhentiw  阅读(260)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示