Slide 1

Slide 1 text

1 Confidential Merpay Summer Internship 2021 Yoshiaki Togami(@y-togami) Merpay Frontend Merchant Support Tool team

Slide 2

Slide 2 text

2 Confidential $whoami
 Name: Yoshiaki Togami (2001 March ~ ????) Position: Frontend Note: B3 student of chuo university BEng Engineering Born and raised in SAGA 👑👑👑👑👑👑 👑👑👑SAGA👑 👑👑👑👑👑👑 👑👑👑

Slide 3

Slide 3 text

3 Confidential Main Task Add integration test (using Cypress)

Slide 4

Slide 4 text

4 Confidential Main Task - All APIs are mocked - Get DOM elements as in jQuery - assertion

Slide 5

Slide 5 text

5 Confidential Why should we write integration tests? - Safety for changes - By integration tests, CI can find the parts that are potentially affected by the change - ex) - Change Directory Structure - Migration of framework (Nuxt v2 -> Nuxt v3) - Preventing bugs appearing in the QA phase as much as possible development next development QA Bug Stop!!!!!

Slide 6

Slide 6 text

6 Confidential What tests should it be? - Easy to maintain, read - Tests can be changing depends on specs - Be specification document - The code itself should represents the user's behavior like it

Slide 7

Slide 7 text

7 Confidential Difficulties - Cypress?????? - 50% hard work 💪💪💪💪 - 50% observation - Watching how to work beforeEach(()=> { cy.mock(mockSomething) }) it(‘test case’, ()=> { cy.mock(mockSomething, {modification}) }) ※ cy.mock is Custom Command. This command can intercept request and change response. Don’t work

Slide 8

Slide 8 text

8 Confidential Difficulties - Domain - Ask mentor

Slide 9

Slide 9 text

9 Confidential Small tasks I've done - Fix regression test - Improve unit test coverage - Developing new features - Add review status

Slide 10

Slide 10 text

10 Confidential Memento(おきみやげ) - Adding .DS_Store to .gitignore - Fixing README - Add section about .vscode file setting - Update outdated commands - Fixing script to warn when the value of an environment variable is invalid

Slide 11

Slide 11 text

11 Confidential What I learned in this internship - Technical - Tests - How to write - How to use tools (Cypress) - Why is testing important - Experience with large scale product - how effective conventions and techniques for readability can be - Others - Mercari environment - Product development is hard work