Tuesday, June 5, 2012

Design & Finalized GSoCConnection

I have spent this week coming up with notes on the current request and invite modules' structure (not actual logic) in order to better understand how I should go about changing the actual functionality. I have decided to keep the generic configuration methods within these modules for the time being so that I can spend most of my time working on the logic; methods like djangoURLPatterns, templatePath, and probably checkAccess will remain the same while I'm doing some basic work. Later I will likely change these to allow for a more dynamic workflow. To quote daniel, I'll try to move away from the request -> org response and invite -> user response since it's not going to matter which party initiates the connection. I believe I'll be combining this functionality into one module (most likely views/connection.py) as I progress, but for next week I'm going to keep everything in the current request/invite design and use the current UI.

This week's goal is to develop a working demo with sample connections utilizing the new GSoCConnection model I wrote last week and finalized over the weekend. We've cleaned it up and simplified the states that it can represent slightly so that there isn't any distinction between an accepted mentor invitation and an accepted mentor request; if necessary, the type of connection will be signified by the party who initiated the connection.

The only code I have for you this week is the finalized GSoCConnection model (linked above), but next week will  be more interesting once I've completed the request and invite demos.

Melange Functional Testing

This week i worked on completing all the three test test scripts and making changes to base module melange_functional_actions.py. I sent my first patch to melange this week. All the test scripts import this base module and use it in writing functional tests. I am waiting for the base module to get committed so that i can start sending test scripts. I am making changes continuously to the base module adding more and more functionality to it so that test scripts look more clean. I have completed three test cases till now. One such test case is TC01 student_registration_test_tc01.py where we are checking the student registration process, when a student enters all the correct details and successfully register himself/herself on melange. Test Case , Steps to Execute, Check Item, Test Case Objective and Expected result are shown below.

Test data for all the test cases will be imported from the sheets of testdata_melange.xls workbook.
Here TC01 sheet contains the data for Test Case with id TC01, similarly TC02 and TC03 sheets contains test data for TC02 and TC03 test cases. The details of TC02 and TC03 will be filled in functional test cases spread sheet. The code for other two test scripts can be seen here.
Apart from this i made changes to the names of different methods in Base Module and added a couple of more methods to it.