Subject: [GSoC] Help with Jasmine Tests

From: Yosry Muhammad <[email-masked]>
Date: Sat, 29 Jun 2019 17:24:00 +0200

Hi all,

I am writing tests for my initial patch of my Google Summer of Code
project, which allows editing of SQL queries results (if they are
updatable).

I am trying to write a test for the sqleditor that checks that if _render()
function (in sqleditor.js) is called with w query results that include
primary keys, then the grid should be editable (I need to check grid
options, gridView.grid.getOptions() ).

I also want to check that if the user edits a cell in the grid, the Save
Data button (new button) is enabled. Is this feasible ?

Can anyone help me? I am new to front-end tests. In the sqleditor test I
have seen, a spy is created for the SqlEditor to see if specific functions
are called, but I want the actual _render() function to run (to call
render_grid() of the gridView). In other words, I need to test the code
inside_render() function.

Thanks a lot.

-- 
*Yosry Muhammad Yosry*

Computer Engineering student,
The Faculty of Engineering,
Cairo University (2021).
Class representative of CMP 2021.
https://www.linkedin.com/in/yosrym93/

---

From: Aditya Toshniwal <[email-masked]>
Date: Mon, 1 Jul 2019 12:27:09 +0530

Hi Yosry,

> project, which allows editing of SQL queries results (if they are
Please go through this page here -
https://jasmine.github.io/tutorials/your_first_suite
This will help you kick start with Jasmin test cases.

>
> I am trying to write a test for the sqleditor that checks that if
> _render() function (in sqleditor.js) is called with w query results that
> include primary keys, then the grid should be editable (I need to check
> grid options, gridView.grid.getOptions() ).
>
This is similar to what is done in -
web/regression/javascript/sqleditor/execute_query_spec.js  for btn-flash.

> inside_render() function.
Currently, _render is not directly testable using jasmine test cases. You
need to break down the code to make it more testable. You can read through
articles like -
https://hackernoon.com/how-to-refactor-unwieldy-untestable-code-4a73d75cb80a
to get an idea. An example in pgAdmin would be
web/pgadmin/static/js/sqleditor/execute_query.js

-- 
Thanks and Regards,
Aditya Toshniwal
Software Engineer | EnterpriseDB India | Pune
"Don't Complain about Heat, Plant a TREE"

---

From: Yosry Muhammad <[email-masked]>
Date: Mon, 1 Jul 2019 15:40:19 +0200

Thanks for your help, I will see what I can do.

---

From: Yosry Muhammad <[email-masked]>
Date: Mon, 1 Jul 2019 16:36:43 +0200

> web/regression/javascript/sqleditor/execute_query_spec.js  for btn-flash.

The problem is not with checking the button. How do I mimic the user
editing the grid? I cannot create a grid with all its options in the test.

-- 
*Yosry Muhammad Yosry*