LimeChain / matchstick

πŸ”₯ Unit testing framework for Subgraph development on The Graph protocol. βš™οΈ
MIT License
207 stars 17 forks source link

Autogenerated examples for test structures on init/add #353

Closed Kalina-Todorova closed 2 years ago

dimitrovmaksim commented 2 years ago

Подобно ΠΊΠ°ΠΊΡ‚ΠΎ init ΠΈ add Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ ./src/<contract-name>.ts mapping, Ρ‚Π°ΠΊΠ° трябва Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ ΠΈ:

  1. Π₯Π΅Π»ΠΏΡŠΡ€ Ρ„Π°ΠΉΠ» със Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° създаванС Π½Π°: mockEvent-ΠΈ - ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ във Ρ„Π°ΠΉΠ»./tests/utils.ts ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ Π² Π»ΠΈΠ½ΠΊΠ°.
  2. Някакъв ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅Π½ тСст, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ./tests/<contract-name>.tests.ts, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π° Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Ρ‰ тСст, Π½ΠΎ ΠΏΠΎ-скоро Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° структурата. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°:
    • Π΅Π΄ΠΈΠ½ describe() Π·Π° някой eventHandler,
    • Π² Π½Π΅Π³ΠΎ Π΅Π΄ΠΈΠ½ beforeAll(), Π² ΠΊΠΎΠΉΡ‚ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° mockEvent ΠΈ сС ΠΏΠΎΠ΄Π°Π²Π° Π½Π° handler-Π°
    • слСд Ρ‚ΠΎΠ²Π° test() Π² ΠΊΠΎΠΉΡ‚ΠΎ сС assert-Π²Π°, Ρ‡Π΅ ΠΎΡ‚ Π΄Π°Π΄Π΅Π½ entity type ΠΈΠΌΠ° 1 Π±Ρ€ΠΎΠΉΠΊΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ
    • слСд Ρ‚ΠΎΠ²Π° afterAll Π² ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° clearStore(). Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ трябва ΠΈ Π΄Π° сС include-Π²Π°Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ node_module-ΠΈ.
    • МоТС Π΄Π° ΠΈΠΌΠ° ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ някакви Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΈ assert-ΠΎΠ²Π΅
      1. matchstick Ρ€Π°Π±ΠΎΡ‚ΠΈ само Π·Π° ethereum ΡΡŠΠ±Π³Ρ€Π°Ρ„ΠΎΠ²Π΅, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Ρ‰Π΅ трябва Π΄Π° ΡΡŠΠΎΠ±Ρ€Π°Π·ΠΈΡˆ Ρ‚Π΅Π·ΠΈ Π½Π΅Ρ‰Π° Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Ρ‚ само Π°ΠΊΠΎ protocol-a e ethereum, Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΉ Protocol класа ΠΈ ΠΊΠ°ΠΊ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.
dimitrovmaksim commented 2 years ago

Π‘ΡŠΡ‰ΠΎ Π² Ρ‚Π°ΠΊΡŠΠ² случай Ρ‰Π΅ Π΅ Ρ…ΡƒΠ±Π°Π²ΠΎ Π΄Π° сС Π΄ΠΎΠ±Π°Π²ΠΈ ΠΈ matchstick-as към package.json-Π° ΠΊΠ°Ρ‚ΠΎ сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° видиш ΠΊΠ°ΠΊ сС случва Ρ‚ΠΎΠ²Π° ΠΏΡ€ΠΈ init ΠΈ Π΄Π° добавиш Π΄Π° сС слага ΠΈ matchstick-as.