Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wireframes for author-user-link #60

Closed
rija opened this issue Jan 21, 2018 · 0 comments
Closed

wireframes for author-user-link #60

rija opened this issue Jan 21, 2018 · 0 comments

Comments

@rija
Copy link
Owner

rija commented Jan 21, 2018

No description provided.

@rija rija added this to the GigaDB-CCQ-author-user-link-56 milestone Jan 21, 2018
@rija rija added the ready label Jan 21, 2018
rija pushed a commit that referenced this issue Jan 21, 2018
user story and acceptance test scenarios drafted
@rija rija added in progress and removed ready labels Jan 23, 2018
rija pushed a commit that referenced this issue Jan 23, 2018
updated the main feature context class to distinguish betwewen admin login and regular user login.
as we need to log as either in turn in the course of the scenarios for this feature set.
rija pushed a commit that referenced this issue Jan 23, 2018
… state for automated tests

different features need different type of tests data and tests user,
so the set up of the initial state need be able to configured differently for each feature.
The bare minimul is kept as a before suite hook on the main context,
but the rest will be done in a Background scenario so I wrote the appropriate step definitions
and update the feature files accordingly.
rija pushed a commit that referenced this issue Feb 11, 2018
started writing test scenario for issue #60 for showing a user's datasets on his/her profile once he/she has been linked to an author.
So far acceptance criteria drafted and started implementing steps definitions.
rija pushed a commit that referenced this issue Feb 12, 2018
…ts using sql

In order to tests that a user can have datasets of author is attached to displayed on his/her profile,
we make it possible to create a new user that can sign in from the scenarios.

This is because the default users in test data already have the same tests datasets listed on their profile because
they submitted them.

we want a user with no existing link to datasets prior to running the tests
rija pushed a commit that referenced this issue Feb 12, 2018
…ss more than one authors

It's possible that a user has authored datasets under multiple name so it should be possible to attach more than one author to a user and therefore
the user profile should show all datasets of all attached authors.
rija pushed a commit that referenced this issue Feb 12, 2018
… user on his/her profile

followed same design pattern as for "Your submitted datasets" section.
rija pushed a commit that referenced this issue Feb 13, 2018
…he user appears for each dataset

add additional query to enable showing under which author name the user has authored a dataset in the table listing his/her datasets.

This fixes #60
rija pushed a commit that referenced this issue Feb 18, 2018
…ne author.

Removed scenario for displaying two authors' dataset on user profile.on issue #60 feature
Added scenario to prevent a user to be associated to more than one author on issue #56 feature
Created a Given step for setting a author/user link in the database for the issue #56 feature in AuthorUserContext.php
and reused  it in the iAmLinkedToAuthor given step for issue #60 in DatasetsOnProfileContext.php
rija pushed a commit that referenced this issue Feb 20, 2018
In order to simplify and speed up Behat automated tests,
we will connect to the postgresql sever in the vagrant box directly
from the php code.

connecting the dev environment to postrgresql inside vagrant box is 3-steps:
setting port forwarding in Vagrantfile is only first step.
Secondly, we need to changes posgresql.conf to get the database server to listen
on all interface, not just loopback interface.
Thirdly we need to add client authorisation for the dev environment in pg_hba.conf
In this commit, I've updated default attributes in Chef to allow just that.
Note that the 10.0.2.2 IP address used in client_auth is a Vagrant "magic" IP address that
represent the host running the Vagrant box.
rija pushed a commit that referenced this issue Feb 20, 2018
Switch to direct database connection from the test's PHP code instead of 3 layers of indirections.
rija pushed a commit that referenced this issue Feb 21, 2018
the step to load a user into the database nows connect to the postgresql
 database server in the vagrant box directly from PHP.
Also the sql has been updated into a insert query that can be used in pg_* php functions
instead of a PGSQL command.
a private function actually handles the database loading of a user for cases
when we want to do it without wanting to set the user_login/password.
rija pushed a commit that referenced this issue Feb 21, 2018
…or clarity, speed and robustness

whenever it's possible, the php code of the tests connect directly to the database server in the vagrant box.
Only step functions that manipulate database dump cannot do that and need to go thtrough
exec - vagrant - ssh - pg_restore/pgsql- file indirection
Terminating backend is less brittle: if it precede a database drop command, we ensure no new connection can be made between termination and database drop
Also the occasional CDbConnection error "FATAL: terminating connection due to administrator command
server closed the connection unexpectedly" has been fixed by restarted the php-fpm daemon after terminating database backends.
The above error having been fix, I can now remove the calls to "sleep" peppered across the automated tests codebase that was remediating it
Added consistency across features, on how user record needed by the tests are loaded
Removed sql file used to hold command to pass on to the exec - vagrant - ssh - pg_restore/pgsql- file indirection
only keep sql files for a user record and for database schema and original test data.
DRY the code by calling a step from another one in gigadbWebSiteIsLoadedWithProducitonLikeData() step defintion
rija pushed a commit that referenced this issue Feb 23, 2018
…m the work done on branch for issue #56 and #60

directly connect to postgresql database from php code.
@rija rija closed this as completed Mar 1, 2018
@rija rija removed the ready label Mar 1, 2018
rija pushed a commit that referenced this issue Mar 8, 2018
…m the work done on branch for issue #56 and #60

directly connect to postgresql database from php code.
rija pushed a commit that referenced this issue Mar 9, 2018
Now that the #56, #60 branch has been rebased into the #57 branch I can test for the gigadb user id to show up in the author view
after an admin validate a dataset claim.
rija pushed a commit that referenced this issue Mar 15, 2018
rija pushed a commit that referenced this issue Mar 25, 2018
started writing test scenario for issue #60 for showing a user's datasets on his/her profile once he/she has been linked to an author.
So far acceptance criteria drafted and started implementing steps definitions.
rija pushed a commit that referenced this issue Mar 25, 2018
…ts using sql

In order to tests that a user can have datasets of author is attached to displayed on his/her profile,
we make it possible to create a new user that can sign in from the scenarios.

This is because the default users in test data already have the same tests datasets listed on their profile because
they submitted them.

we want a user with no existing link to datasets prior to running the tests
rija pushed a commit that referenced this issue Mar 25, 2018
…ss more than one authors

It's possible that a user has authored datasets under multiple name so it should be possible to attach more than one author to a user and therefore
the user profile should show all datasets of all attached authors.
rija pushed a commit that referenced this issue Mar 25, 2018
… user on his/her profile

followed same design pattern as for "Your submitted datasets" section.
rija pushed a commit that referenced this issue Mar 25, 2018
…he user appears for each dataset

add additional query to enable showing under which author name the user has authored a dataset in the table listing his/her datasets.

This fixes #60
rija pushed a commit that referenced this issue Mar 25, 2018
…ne author.

Removed scenario for displaying two authors' dataset on user profile.on issue #60 feature
Added scenario to prevent a user to be associated to more than one author on issue #56 feature
Created a Given step for setting a author/user link in the database for the issue #56 feature in AuthorUserContext.php
and reused  it in the iAmLinkedToAuthor given step for issue #60 in DatasetsOnProfileContext.php
rija pushed a commit that referenced this issue Mar 25, 2018
In order to simplify and speed up Behat automated tests,
we will connect to the postgresql sever in the vagrant box directly
from the php code.

connecting the dev environment to postrgresql inside vagrant box is 3-steps:
setting port forwarding in Vagrantfile is only first step.
Secondly, we need to changes posgresql.conf to get the database server to listen
on all interface, not just loopback interface.
Thirdly we need to add client authorisation for the dev environment in pg_hba.conf
In this commit, I've updated default attributes in Chef to allow just that.
Note that the 10.0.2.2 IP address used in client_auth is a Vagrant "magic" IP address that
represent the host running the Vagrant box.
rija pushed a commit that referenced this issue Mar 25, 2018
Switch to direct database connection from the test's PHP code instead of 3 layers of indirections.
rija pushed a commit that referenced this issue Mar 25, 2018
the step to load a user into the database nows connect to the postgresql
 database server in the vagrant box directly from PHP.
Also the sql has been updated into a insert query that can be used in pg_* php functions
instead of a PGSQL command.
a private function actually handles the database loading of a user for cases
when we want to do it without wanting to set the user_login/password.
rija pushed a commit that referenced this issue Mar 25, 2018
…or clarity, speed and robustness

whenever it's possible, the php code of the tests connect directly to the database server in the vagrant box.
Only step functions that manipulate database dump cannot do that and need to go thtrough
exec - vagrant - ssh - pg_restore/pgsql- file indirection
Terminating backend is less brittle: if it precede a database drop command, we ensure no new connection can be made between termination and database drop
Also the occasional CDbConnection error "FATAL: terminating connection due to administrator command
server closed the connection unexpectedly" has been fixed by restarted the php-fpm daemon after terminating database backends.
The above error having been fix, I can now remove the calls to "sleep" peppered across the automated tests codebase that was remediating it
Added consistency across features, on how user record needed by the tests are loaded
Removed sql file used to hold command to pass on to the exec - vagrant - ssh - pg_restore/pgsql- file indirection
only keep sql files for a user record and for database schema and original test data.
DRY the code by calling a step from another one in gigadbWebSiteIsLoadedWithProducitonLikeData() step defintion
rija pushed a commit that referenced this issue Mar 25, 2018
Now that the #56, #60 branch has been rebased into the #57 branch I can test for the gigadb user id to show up in the author view
after an admin validate a dataset claim.
rija pushed a commit that referenced this issue Mar 25, 2018
rija pushed a commit that referenced this issue Apr 6, 2018
… for #60 (showing datasets of linked author on user profile)

Added a new method to the User model class to access the linked author.
Fixed the schema migration for the author_rel table for syntax error.
Updated the production like database dump (production_like.pgdmp) use for acceptance testing #60  with author_rel
Update UserController to fetch the linked author, and then its graph of identical authors and collect datasets id for all of them
rija pushed a commit that referenced this issue Apr 6, 2018
… for #60 (showing datasets of linked author on user profile)

ensure there is no workflow conflict between merging authors and linking an author to an user (when on the admin author table)
rija pushed a commit that referenced this issue May 19, 2018
Work related to Author workflow( #49, #56, #57, and #60)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant