loginAsUser(); $otherPerson = factory(User::class)->create(); $this->dontSeeInDatabase('family_connections', [ 'requester_id' => $user->id, 'requested_id' => $otherPerson->id, ]); $this->visitRoute('users.show', $otherPerson); $this->seeElement('button', ['id' => 'send_family_connection_request']); $this->press('send_family_connection_request'); $this->seeRouteIs('users.show', $otherPerson); $this->seeElement('button', ['id' => 'cancel_family_connection_request']); $this->seeInDatabase('family_connections', [ 'requester_id' => $user->id, 'requested_id' => $otherPerson->id, ]); } /** @test */ public function user_can_accept_family_connection_request_from_other_user() { $user = $this->loginAsUser(); $otherPerson = factory(User::class)->create(); FamilyConnection::create([ 'id' => Uuid::uuid4()->toString(), 'requester_id' => $otherPerson->id, 'requested_id' => $user->id, ]); $this->visitRoute('users.show', $otherPerson); $this->seeElement('button', ['id' => 'accept_family_connection_request']); $this->press('accept_family_connection_request'); $this->seeRouteIs('users.show', $otherPerson); $this->seeInDatabase('family_connections', [ 'requester_id' => $otherPerson->id, 'requested_id' => $user->id, 'status_id' => FamilyConnection::STATUS_APPROVED, ]); } /** @test */ public function user_can_reject_family_connection_request_from_other_user() { $user = $this->loginAsUser(); $otherPerson = factory(User::class)->create(); FamilyConnection::create([ 'id' => Uuid::uuid4()->toString(), 'requester_id' => $otherPerson->id, 'requested_id' => $user->id, ]); $this->seeInDatabase('family_connections', [ 'requester_id' => $otherPerson->id, 'requested_id' => $user->id, ]); $this->visitRoute('users.show', $otherPerson); $this->seeElement('button', ['id' => 'reject_family_connection_request']); $this->press('reject_family_connection_request'); $this->seeRouteIs('users.show', $otherPerson); $this->dontSeeInDatabase('family_connections', [ 'requester_id' => $otherPerson->id, 'requested_id' => $user->id, ]); } }