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

MultiActor Collaboration #6

Open
awatson1978 opened this issue Apr 26, 2015 · 5 comments
Open

MultiActor Collaboration #6

awatson1978 opened this issue Apr 26, 2015 · 5 comments

Comments

@awatson1978
Copy link
Collaborator

A. Dr House makes a collaboration called “Foo".
B. Dr House sees no posts in collaboration.
C. Dr House makes a post “Bar” in the collaboration
D. Thirteen can’t see Dr. House’s post.
E. Thirteen asks to be included in the collaboration.
F. Dr. House grants Thirteen’s membership to collaboration “Foo”.
G. Thirteen can see Dr. House’s post “Bar”.
H. Dr House kicks Thirteen out of collaboration “Foo”.
I. Thirteen can no longer see post “Bar”.

@tedgoldstein
Copy link
Contributor

Looks good.

On Apr 25, 2015, at 11:07 PM, Abigail Watson [email protected] wrote:

A. Dr House makes a collaboration called “Foo".
B. Dr House sees no posts in collaboration.
C. Dr House makes a post “Bar” in the collaboration
D. Thirteen can’t see Dr. House’s post.
E. Thirteen asks to be included in the collaboration.
F. Dr. House grants Thirteen’s membership to collaboration “Foo”.
G. Thirteen can see Dr. House’s post “Bar”.
H. Dr House kicks Thirteen out of collaboration “Foo”.
I. Thirteen can no longer see post “Bar”.


Reply to this email directly or view it on GitHub.

@awatson1978
Copy link
Collaborator Author

So, roughly speaking, we want a test script that looks something like this:

.verify.listOfCollaborationsDoesntContains("My Foo Collaboration")
.verify.canMakeCollaboration("housemd", "My Foo Collaboration")
.verify.makesCollaboration("housemd", "My Foo Collaboration")
.verify.listOfCollaborationsContains("My Foo Collaboration")
.verify.collaborationHasPost("My Foo Collaboration", "Post A")
.verify.canSeePost("housemd", "Post A")
.verify.canNotSeePost("thirteen", "Post A")
.verify.canRequestCollaboration("thirteen")
.verify.requestsCollaboration("thirteen", "My Foo Collaboration")
.verify.canGrantCollaborationAccess("housemd")
.verify.grantsCollaboration("housemd", "thirteen", "My Foo Collaboration")
.verify.canSeePost("thirteen", "Post A")
.verify.canDenyCollaborationAccess("housemd")
.verify.canNotDenyCollaborationAccess("thirteen")
.verify.deniesCollaborationAccess("housemd", "thirteen", "My Foo Collaboration")
.verify.canNotSeePost("thirteen", "Post A")

Unfortunately, nobody has quite worked out how to do multi-actor ping-pong testing with Meteor quite yet (although I'm getting close), so we're probably going to need to sign in housemd and thirteen serially, rather than in concurrent windows. Which means there are some sign-in and sign-out commands that will be peppered throughout this script. And we'll also want to take screenshots and provide console-log cues to where we are in the script.

EDIT
Updated script with signIn/signOut commands....

      .url("http://localhost:3000")
      .resizeWindow(1024, 768)

      .signIn("housemd")
      .listOfCollaborationsDoesntContain("My Foo Collaboration")
      .canMakeCollaboration("housemd", "My Foo Collaboration")
      .makesCollaboration("housemd", "My Foo Collaboration")
      .listOfCollaborationsContains("My Foo Collaboration")
      .collaborationHasPost("My Foo Collaboration", "Post A")
      .canSeePost("housemd", "Post A")
      .signOut("housemd")
      .signIn("thirteen")
      .canNotSeePost("thirteen", "Post A")
      .canRequestCollaboration("thirteen")
      .requestsCollaboration("thirteen", "My Foo Collaboration")
      .signOut("thirteen")
      .signIn("housemd")
      .canGrantCollaborationAccess("housemd")
      .grantsCollaboration("housemd", "thirteen", "My Foo Collaboration")
      .signOut("housemd")
      .signIn("thirteen")
      .canSeePost("thirteen", "Post A")
      .canNotDenyCollaborationAccess("thirteen")
      .signOut("thirteen")
      .signIn("housemd")
      .canDenyCollaborationAccess("housemd")
      .deniesCollaborationAccess("housemd", "thirteen", "My Foo Collaboration")
      .signOut("housemd")
      .signIn("thirteen")
      .canNotSeePost("thirteen", "Post A")
      .signOut('thirteen')

      .end();

@awatson1978
Copy link
Collaborator Author

Requires #10 to be completed first.

@awatson1978
Copy link
Collaborator Author

@rbaertsch @tedgoldstein - Is there an initialization file that adds default users or collaborations to the database? When I sign up as a new user on my localhost version, I'm not seeing any ability to view or manage collaborations. I looked in the usual places in /server and /lib but didn't see anything....

@awatson1978
Copy link
Collaborator Author

Ah, think I figured it out.

@awatson1978 awatson1978 reopened this May 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants