Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

フロントテンプレートの互換テストを追加 #4945

Merged
merged 2 commits into from
Mar 5, 2021

Conversation

nanasess
Copy link
Contributor

@nanasess nanasess commented Mar 3, 2021

概要(Overview・Refs Issue)

管理画面からフロントテンプレートを編集すると、 app/template 以下にテンプレートファイルがコピーされる。
コピーされたテンプレートのバージョンアップに伴うマージ作業は、デザイナーや店舗オーナーなど、非エンジニアにとっては大変な労力となるため、最大限の下位互換性を確保したい。
特に、 ec-cube.co など管理画面からしかファイル更新できないような環境でのマージ作業は大変困難だと予想される

フロントテンプレートの下位互換性をチェックするため、過去バージョンのフロントテンプレートを適用してのE2Eテストを実行する

方針(Policy)

  • 過去バージョンのフロントテンプレート(及び assets)をチェックアウトして EC-CUBE をインストールする
  • バージョンごとに matrix でE2Eテスト実行し、下位互換性のチェックをする

実装に関する補足(Appendix)

フォーク先のリポジトリでのテストを考慮し、 upstream のタグもフェッチしてチェックアウトする

テスト(Test)

フロントテンプレートの下位互換性チェックができることを確認

相談(Discussion)

厳密には CSS, JavaScript も含めた互換チェックが必要かも

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更
  • フックポイントの呼び出しタイミングの変更
  • フックポイントのパラメータの削除・データ型の変更
  • twigファイルに渡しているパラメータの削除・データ型の変更
  • Serviceクラスの公開関数の、引数の削除・データ型の変更
  • 入出力ファイル(CSVなど)のフォーマット変更

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか

@okazy okazy added this to the 4.1 milestone Mar 4, 2021
@okazy okazy added the improvement 機能改善 label Mar 4, 2021
@okazy
Copy link
Contributor

okazy commented Mar 4, 2021

ありがとうございます!
こちらがあると安心ですね。

追加のテスト問題ないと思います。

個人のリポジトリにて互換性のない変更のテストを実施しています。
okazy#73

@okazy
Copy link
Contributor

okazy commented Mar 4, 2021

互換性のない変更でしっかり落ちてくれました!

image

@okazy okazy merged commit c8e55c5 into EC-CUBE:4.1-feature Mar 5, 2021
@okazy
Copy link
Contributor

okazy commented Mar 5, 2021

ありがとうございます。マージしました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants