Week 6 - CircuitVerse@GSOC'23

Week 6 - CircuitVerse@GSOC'23

At the start, this week's main focus was completing the RBS integration. But that does not go well due to having issues with rbs_rails Gem. So I raised PR in rbs_rails the gem repository about the issue to get some hints from the maintainers.

You can check out the discussion thread here -> https://github.com/pocke/rbs_rails/issues/260

As this will take a long time to resolve, I moved to the following topic: writing missing integration test cases. It was the first time I listened to integration testing; I only knew about it before that. But it's crazy and can always help keep the UI flow unchanged regardless of changes.

As per the planning, I should cover these workflows by integration testing

  • Profile Management

  • Group Management

  • Assignment management

  • Project management

These tasks were pretty straightforward, like automating manual testing. Rails use capybara gem to execute integration testing with the Selenium web driver.

During writing test cases, one problem is that some UI fields like bootstrap-select require one to type and press enter after each entry to take effect. We can achieve this by using send_keys .

To make it easy, we build a function to wrap things

  def fill_in_input(input, with:)
    find(input).send_keys with

Then, we can insert some text in the input and press enter

fill_in_input "#input_id", with: "test@test.com"
fill_in_input "#input_id", with: :enter

You can check out the PR's here -> https://github.com/CircuitVerse/CircuitVerse/issues/3854

GSOC Midterm evaluation is approaching soon. We need to work on wrapping all the work and prepare a blog about all the progress in phase 1 of GSOC.

The official blog is published here -> https://blog.circuitverse.org/posts/tanmoy_sarkar_phase_1_report/

You can find out all the blogs of CircuitVerse here -> https://blog.circuitverse.org/

Thank you for giving it a read.