2016-10-28 5 views
0

私は、Mochaを使ってMeteorアプリケーションでいくつかのフォームをテストしています。アプリケーション内のルートは認証されているため、ログインしたユーザーまたは「管理者」の役割を持つユーザーのみが表示できます。Chimp/MochaによるMeteorアプリケーションのテスト - 認証されたルートをテストするための自動ログイン

テストでブラウザを開いてURLを表示し、フォームを入力すると、期待どおりにログインページにリダイレクトされます。

私はルート認証を削除する必要はありませんので、テストを行う前に自動的にユーザーを記録する方法はありますか?

はここでこれまでのところ、この

describe('Create a Client', function() { 
    it('should create a new client @watch', function() { 
     browser.url('http://localhost:3000/dashboard/clients/new') 

     [...] 

    }); 
}); 

答えて

1

使用テストコードです:

function login(user) { 
    browser.url('http://localhost:3000') 
    browser.executeAsync(function(user, done) { 
    Meteor.loginWithPassword(user.username, user.password, done) 
    }, user) 

} 

// now you can do this: 
login({ 
    username: 'someone', 
    password: 'aSecret' 
}); 
browser.url('http://localhost:3000/dashboard/clients/new') 

注あなたは必ず、ユーザが最初に存在するようにする必要があり、そのためにあなたは、器具を使用することができます。

は、詳細はこちらをご覧ください:素晴らしいです https://forums.meteor.com/t/solved-how-can-i-wait-for-before-hooks-to-finish-when-testing-with-chimp-meteor-cucumber/18356/12

+0

は、ありがとうございました! – Sean

+0

簡単な質問ですが、指示どおりにコードを実装しました。私はユーザー名/パスワードを変更しましたが、2番目の 'browser.url'機能は動作しません。ユーザーがログインすると、アプリはダッシュボードにとどまり、テストは失敗します。どんな考え? – Sean

関連する問題