問題タブ [ember-cli-mirage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ember.js - Ember 受け入れテストでドロップダウンへの変更が認識されない
私の Ember アプリには、ステータス フィールドを制御するドロップダウンがあります。ステータス フィールドは、テーブルに表示される列の数を制御します。
ドロップダウン = Open の場合、14 列あります。それ以外の場合は 12 個あります。アプリはこの面で正常に動作します。
このための受け入れテストを作成しようとしていますが、いくつかの問題があります。
ドロップダウンは id=status-dropdown でタグ付けされています。注文テンプレート/ルートにあります。
私の受け入れテストでは、これがあります:
しかし、テストでは列の数が 14 に戻ります。
pauseTest() 呼び出しを使用すると、テストが動作しているように見える DOM を確認できます。コンソールを開いて $('#orders-table thead tr th').length を実行すると、14 ではなく 12 が返されます。ただし、テストでは 14 があると見なされます。
Ember 受け入れテストと DOM のドロップダウン効果に関連して、私が見逃しているトリックや癖はありますか? 上記のような jQuery 呼び出し以外の方法でドロップダウン値を変更する必要がありますか?
pauseTest() が返す DOM が、実際のテストが存在すると思われるものと異なる理由はありますか?
ドロップダウンを「andThen」の前に変更するコードを移動しようとしましたが、うまくいきません。最初の "andThen()" 内の 2 番目の "andThen()" でドロップダウンへの変更をネストしようとしましたが、それも機能しません。
問題がある場合は、テストにミラージュを使用しています。
Handlebars コードを追加するために編集:
上記のコードは、orders.hbs テンプレートに部分的に統合されています。
orders.hbs コードはかなり大きくて複雑ですが、テストの結果、重要なのはメイン テーブルに 14 列あることです。ただし、最後の 2 つの列は status = Open の場合にのみ表示されます。これは、関連する列の orders.hbs テンプレートの {{#if statusIsOpen}} 呼び出しでチェックされます。
ember.js - ember デモ ember-cli-mirage がバックエンドのないサーバーで動作しない
新しい ember アプリのデモを準備しており、適切なバックエンドなしで一時的に静的 http サーバーにデプロイしています。
Mirage からデータを取得するようにプロジェクトを構成しましたが、ローカルでうまく動作します。
問題は、http サーバーにアップロードすると、蜃気楼が機能していないようで、デモが発生することです。
これは蜃気楼の私の構成です:
ローカル マシンでは動作しますが、http サーバーでは動作しません。デモを動作させる方法についてのアイデアはありますか?
ありがとう、
javascript - Ember Mirage への同期リクエスト
問題の原因が Ember Mirage なのかどうかわかりません。サービスに次のコードがあります。
ファイルで宣言されたルートもありmirage/config.js
ます。単体テスト中にミラージュのみを使用するように設定されています。
テスト中は、XHR リクエストから Mirage ルート ハンドラへのコード実行を追跡できますが、その後は何も実行されません。で定義された成功ハンドラまたはエラー ハンドラのいずれにもヒットしません。Ember.$.get
実際の Web サーバーに対して開発中にこのコードを実行すると、正常に動作します。
Mirage はasync:false
フラグをサポートしていますか? this.pretender.get
また、ここで定義されている同期スタイルを使用して、構文を使用してエンドポイントを宣言しようとしました: https://github.com/pretenderjs/pretender#timing-parameter
しかし、まだ喜びはありません...
アイデア、正しい方向へのナッジなどは大歓迎です。
javascript - ストアの応答をモデルにマップできません - EmberJS
Mirage をインストールしてサーバーを偽造しようとした ember アプリケーションを試しています。RestAdapter を使用していますが、モデルが応答からデータを取得していません。
アダプター/application.js
contact.js (モデル)
all.js (ルート)
フィクスチャ/contacts.js
シナリオ/default.js
Config.js (ミラージュ)
contact-listing.hbs
どこが間違っているのかわかりません。
ガイドをお願いします。前もって感謝します!!
ember-cli-mirage - 開発モードで mirage 内部 (db) にアクセスしますか?
テストで 'db' を使用して内部の mirage データベースを操作する方法は知っていますが、標準ルートで 'db' のような内部にアクセスできるかどうかはわかりませんでした。私のアプリは mirage が使用されていることを認識していないため、使用できない可能性があることを理解しています。
ember.js - Ember CLI Mirage の「エラー: ENOENT: そのようなファイルまたはディレクトリはありません」
私は超初心者です。ember Web サイトに示されているガイドに基づいて Mirage を使用しようとしています。私のコードはすべて、ガイドとほぼ同じです。ただし、ローカルホストにアクセスすると、ビルド エラーと次のメッセージが表示されます。
ember generate ember-cli-mirage
うまくいかなかったのでもう一度試しましたが、これは役に立ちませんでした。
これを修正するにはどうすればよいですか?
ありがとう
ember.js - Ember CLI Mirage を使用して多対多の関係を模擬する
前もってお詫び申し上げます: 私は Ember (2.2.0) と Mirage の両方に不慣れで、既存の Ember アプリケーションの受け入れテストを作成する任務を負っています。私の課題は、Mirage (0.1.13) とフィクスチャ (ファクトリではない) を使用して、データ内の既存の 1 対多または多対多の関係を模倣することです。重要な関係をモデル化する完全な例は見つかりませんでした。
次の単純な多対多の関係を考えてみましょう。ユーザーは複数のロールを持つことができます。
それぞれの Ember モデルは次のとおりです。
user-role
ハイフンで囲まれていることに注意してください 。
フィクスチャを作成する私の試み:
にブレークポイントを配置する finders.js
と
I seeの値を調べ adapterPayload
ます。たとえば、
予想の代わりに
つまり、ユーザー ロール ID の外部キーは、Mirage によって対応するレコードに解決されません。ユーザーロールのハイフネーションがファイルの名前と一致しないことに関係があると思われ userRoles.js
ます。
バックエンド機能 (私がモックしようとしている) は、以下に示す JAX-RS JPA と Spring Framework を使用して実装されています。
どんな助けでも大歓迎です。
javascript - ember-cli-mirage は、mirage に挿入された socket.io クライアントをリダイレクトします。
ここで発生する問題は、サンプルの socekt.io クライアントとこの socket.io サーバーを node.js で接続すると (2 つの端末を実行し、クライアントとサーバーの間でソケット接続を開くだけです)、問題がないことです。
しかし、この socket.io-client を Ember.js アプリケーションに挿入しようとすると、正確に ember-cli-mirage に指定されたアドレスからクライアントがリダイレクトされます:
( 'http: //localhost:8080') の
ようなものに
http: //localhost:8080/socket.io/?EIO=3&transport=polling&.....
また、Mirage は、正確な名前空間を設定したり、 wsClient.connect()メソッド
をルーティングしたりしても、処理できないエラーを表示します。wsClient.connect()を呼び出す前にthis.passthrough () を呼び出します。
また、ブラウザーの検査コンソールからのエラーのスクリーンショットを貼り付けます。
この問題を解決する方法はありますか? 前もって感謝します。また、トピックが重複しないことを願っています。