@@ -6,12 +6,13 @@ defmodule GroupherServer.Test.Repo do
66
77 setup do
88 { :ok , user } = db_insert ( :user )
9+ { :ok , user2 } = db_insert ( :user )
910 # {:ok, post} = db_insert(:post)
1011 { :ok , community } = db_insert ( :community )
1112
1213 repo_attrs = mock_attrs ( :repo , % { community_id: community . id } )
1314
14- { :ok , ~m( user community repo_attrs) a }
15+ { :ok , ~m( user user2 community repo_attrs) a }
1516 end
1617
1718 describe "[cms repo curd]" do
@@ -26,6 +27,28 @@ defmodule GroupherServer.Test.Repo do
2627 assert repo . contributors |> length !== 0
2728 end
2829
30+ @ tag :wip2
31+ test "read repo should update views and meta viewed_user_list" ,
32+ ~m( repo_attrs community user user2) a do
33+ { :ok , repo } = CMS . create_content ( community , :repo , repo_attrs , user )
34+ { :ok , _ } = CMS . read_article ( :repo , repo . id , user )
35+ { :ok , _created } = ORM . find ( CMS.Repo , repo . id )
36+
37+ # same user duplicate case
38+ { :ok , _ } = CMS . read_article ( :repo , repo . id , user )
39+ { :ok , created } = ORM . find ( CMS.Repo , repo . id )
40+
41+ assert created . meta . viewed_user_ids |> length == 1
42+ assert user . id in created . meta . viewed_user_ids
43+
44+ { :ok , _ } = CMS . read_article ( :repo , repo . id , user2 )
45+ { :ok , created } = ORM . find ( CMS.Repo , repo . id )
46+
47+ assert created . meta . viewed_user_ids |> length == 2
48+ assert user . id in created . meta . viewed_user_ids
49+ assert user2 . id in created . meta . viewed_user_ids
50+ end
51+
2952 test "created repo has origial community info" , ~m( user community repo_attrs) a do
3053 { :ok , repo } = CMS . create_content ( community , :repo , repo_attrs , user )
3154 { :ok , found } = ORM . find ( CMS.Repo , repo . id , preload: :origial_community )
0 commit comments