GitXplorerGitXplorer
s

TDDQiita

public
0 stars
0 forks
0 issues

Commits

List of commits on branch mvvm.
Verified
6b03af71dc5b87ef06d4147db9bca2ad7a8c1817

Merge pull request #9 from stzn/dependabot/bundler/rexml-3.3.9

sstzn committed 3 months ago
Verified
dce608861cbba5becfae79a47c6af7da215bf427

Bump rexml from 3.3.6 to 3.3.9

ddependabot[bot] committed 3 months ago
Verified
153c239ae6da46126db29779ed7b335ce535b256

Merge pull request #8 from stzn/dependabot/bundler/rexml-3.3.6

sstzn committed 5 months ago
Verified
e0d73ae778a4227f3bd3ed7baf94bb0a8eef59da

Bump rexml from 3.3.3 to 3.3.6

ddependabot[bot] committed 5 months ago
Verified
4d7e3e8e5969cff392dc684ec5a31c670ae2d8c8

Merge pull request #7 from stzn/dependabot/bundler/rexml-3.3.3

sstzn committed 6 months ago
Verified
431b0c7012e13a98adc83c9acf53810c3e139bb8

Bump rexml from 3.2.8 to 3.3.3

ddependabot[bot] committed 6 months ago

README

The README file for this repository.

BDD Specs

ストーリー

ユーザがqiitaの一覧情報を見たいとリクエストする

物語1

Who:オンラインのユーザーは What:最新のデータをアプリに自動で取得して欲しい。 Why:なぜなら、いつでも最新の情報をチェックできるからだ。

シナリオ

Given:ユーザがオンラインの状態にある時に When:qiita情報の一覧を見たいとリクエストすると Then:アプリはリモートから最新のqiitaの情報を表示してキャッシュを新しい情報と入れ替える。

Given:ユーザがオンラインの状態で画面を表示している時に When:取得しているデータの続きのqiita情報の一覧を見たいとリクエストすると Then:アプリはリモートから取得済みのデータの次に最新のqiitaの情報を取得してキャッシュにも追加する

物語2

Who:オフラインのユーザーは What:最新のキャッシュデータをアプリに自動で取得して欲しい。 Why:なぜなら、いつでも取得可能な最新の情報をチェックできるからだ。

シナリオ

Given:ユーザがオフラインの状態にあり、有効期限内のキャッシュが存在する場合 When:qiita情報の一覧を見たいとリクエストすると Then:アプリはキャッシュ上の最新のqiitaの情報を表示する

Given:ユーザがオフラインの状態にあり、有効期限が切れたキャッシュが存在する場合 When:qiita情報の一覧を見たいとリクエストすると Then:アプリはデータがない時のメッセージを表示する

Given:ユーザがオフラインの状態にあり、キャッシュが存在しない場合 When:qiita情報の一覧を見たいとリクエストすると Then:アプリはデータがない時のメッセージを表示する

Given:ユーザがオフラインの状態で画面を表示している時に When:取得しているデータの続きのqiita情報の一覧を見たいとリクエストすると Then:アプリはキャッシュ上の取得済みのデータの次に最新のqiitaの情報を取得する

ユースケース

リモートからqiita情報を取得

Data:

  • URL

Happy Path:

  1. dataを使って「qiita情報を取得する」コマンドを実行する
  2. システムがURLからデータをダウンロードする
  3. システムがダウンロードデータをバリデーションする
  4. システムが妥当なデータからqiita情報を作成する
  5. システムがqiita情報を伝達する

Invalid data(sad path):

  1. システムからinvalid data errorを伝達する

No connectivity(sad path):

  1. システムからconnectivity errorを伝達する

リモートからqiitaユーザの画像を取得

Data:

  • URL

Happy Path:

  1. dataを使って「qiitaユーザの画像を取得する」コマンドを実行する
  2. システムがURLからデータをダウンロードする
  3. システムがダウンロードデータをバリデーションする
  4. システムが画像データを伝達する

Invalid data(sad path):

  1. システムからinvalid data errorを伝達する

No connectivity(sad path):

  1. システムからconnectivity errorを伝達する

キャッシュからqiita情報を取得

Data:

Happy Path:

  1. 「qiita情報を取得する」コマンドを実行する
  2. システムがキャッシュからデータを取得する
  3. システムがキャッシュが有効期限内であるかをバリデーションする
  4. システムがキャッシュからqiita情報を作成する
  5. システムがqiita情報を伝達する

取得に失敗(sad path):

  1. システムからerrorを伝達する

キャッシュの有効期限切れ(sad path):

  1. システムからデータがないことを伝達する

キャッシュが空(sad path):

  1. システムからデータがないことを伝達する

キャッシュからqiitaユーザの画像を取得

Data:

  • URL

Happy Path:

  1. dataを使って「qiitaユーザの画像を取得する」コマンドを実行する
  2. システムがキャッシュからデータを取得する
  3. システムが画像データを伝達する

キャンセルされた場合:

  1. システムはデータもエラーも送らない

取得に失敗(sad path):

  1. システムからerrorを伝達する

キャッシュが空(sad path):

  1. システムからnot found errorを伝達する

qiita情報のキャッシュのバリデーション

Happy Path:

  1. 「キャッシュをバリデーションする」コマンドを実行する
  2. システムがキャッシュからデータを取得する
  3. システムがキャッシュが有効期限内かどうかをチェックする

取得に失敗(sad path):

  1. システムがキャッシュを削除する

キャッシュの有効期限切れ(sad path):

  1. システムがキャッシュを削除する

qiitaのユーザ画像のキャッシュのバリデーション

Happy Path:

  1. 「キャッシュをバリデーションする」コマンドを実行する
  2. システムがキャッシュからデータを取得する
  3. システムがキャッシュが有効期限内かどうかをチェックする

取得に失敗(sad path):

  1. システムがキャッシュを削除する

キャッシュの有効期限切れ(sad path):

  1. システムがキャッシュを削除する

qiita情報をキャッシュする

Data

  • qiita情報

Happy Path:

  1. 「キャッシュを保存する」コマンドを実行する
  2. システムが古いキャッシュを削除する
  3. システムがキャッシュをエンコードする
  4. システムが新しいキャッシュにタイムスタンプを押す
  5. システムが新しいキャッシュを保存する
  6. システムが成功メッセージを伝達する

削除に失敗(sad path):

  1. システムからerrorを伝達する

保存に失敗(sad path):

  1. システムからerrorを伝達する

qiitaのユーザ画像をキャッシュする

Data

  • URL
  • 画像データ

Happy Path:

  1. 「画像データを保存する」コマンドを実行する
  2. システムが新しいキャッシュを保存する
  3. システムが成功メッセージを伝達する

保存に失敗(sad path):

  1. システムからerrorを伝達する

リモートから取得済みのデータの次に最新のqiita情報を取得

Data:

  • URL
  • 画面に表示されている一番古いデータの更新日時

Happy Path:

  1. dataを使って「次のqiita情報を取得する」コマンドを実行する
  2. システムがURLからデータをダウンロードする
  3. システムがダウンロードデータをバリデーションする
  4. システムが妥当なデータからqiita情報を作成する
  5. システムがqiita情報を伝達する

Invalid data(sad path):

  1. システムからinvalid data errorを伝達する

No connectivity(sad path):

  1. システムからconnectivity errorを伝達する

キャッシュから取得済みのデータの次に最新のqiita情報を取得

Data:

  • 画面に表示されている一番古いデータの更新日時

Happy Path:

  1. dataを使って「次のqiita情報を取得する」コマンドを実行する
  2. システムがキャッシュからデータを取得する
  3. システムがキャッシュからqiita情報を作成する
  4. システムがqiita情報を伝達する

取得に失敗(sad path):

  1. システムからerrorを伝達する

キャッシュが空(sad path):

  1. システムからデータがないことを伝達する