package Ġbr . com . la er ci os kt . views . users Ċ Ċ import Ġbr . com . la er ci os kt . authentication . CurrentUser Ċ import Ġbr . com . la er ci os kt . backend . data . Category Ċ import Ġbr . com . la er ci os kt . backend . data . Category . Category Builder Ċ import Ġbr . com . la er ci os kt . backend . data . User Ċ import Ġbr . com . la er ci os kt . backend . data . User . User Builder Ċ import Ġbr . com . la er ci os kt . backend . data . User Status Ċ import Ġbr . com . la er ci os kt . backend . data . User Status . ACTIVE Ċ import Ġbr . com . la er ci os kt . backend . data . User Status . IN ACTIVE Ċ import Ġbr . com . la er ci os kt . backend . repository . Category Repository Ċ import Ġbr . com . la er ci os kt . backend . service . UserService Ċ import Ġbr . com . la er ci os kt . views . View Test Ċ import Ġcom . github . mv ys ny . k ari but esting . v 1 0 .* Ċ import Ġcom . vaadin . flow . component . UI Ċ import Ġcom . vaadin . flow . component . button . Button Ċ import Ġcom . vaadin . flow . component . checkbox . Checkbox Group Ċ import Ġcom . vaadin . flow . component . grid . Grid Ċ import Ġcom . vaadin . flow . component . select . Select Ċ import Ġcom . vaadin . flow . component . text field . TextField Ċ import Ġorg . junit . jupiter . api . BeforeEach Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ Ċ internal Ġclass ĠUser View Test Ġ: ĠView Test () Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠuserService : ĠUserService ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcategory Repository : ĠCategory Repository ĊĊĠĠĠ Ġ@ BeforeEach ĊĠĠĠ Ġoverride Ġfun Ġ` setup Ġenvironment `() Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper .` setup Ġenvironment `() ĊĊĠĠĠĠĠĠĠ Ġval Ġadmin Ġ= Ġcreate Category (" admin ") ĊĠĠĠĠĠĠĠ Ġval Ġusers Ġ= Ġcreate Category (" users ") ĊĠĠĠĠĠĠĠ Ġcreate User (" user 1 ", Ġ" pass 1 2 3 4 5 6 7 8 9 ", ĠACT IVE , Ġadmin ) ĊĠĠĠĠĠĠĠ Ġcreate User (" user 1 2 ", Ġ" pass 2 3 4 5 6 7 8 9 ", ĠIN ACTIVE , Ġadmin ) ĊĠĠĠĠĠĠĠ Ġcreate User (" user 1 2 3 ", Ġ" pass 3 4 5 6 7 8 9 ", ĠACT IVE , Ġusers ) ĊĠĠĠĠĠĠĠ Ġcreate User (" user 1 2 3 4 ", Ġ" pass 4 5 6 7 8 9 ", ĠACT IVE , Ġusers ) ĊĠĠĠĠĠĠĠ Ġcreate User (" user 1 2 3 4 5 ", Ġ" pass 5 6 7 8 9 ", ĠIN ACTIVE , Ġusers ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` navigate Ġto ĠUsers Ġand Ġcheck Ġgrid Ġvalues `() Ġ{ ĊĠĠĠĠĠĠĠ ĠUI . getCurrent (). navigate ( User View :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġgrid Ġ= Ġ_ get < Grid < User >> Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġgrid . expect Rows ( 5 ) ĊĊĠĠĠĠĠĠĠ ĠuserService . save ( createUser (" user 1 2 3 4 5 6 ", Ġ" pass 5 6 7 8 9 1 0 ", ĠIN ACTIVE , Ġcategory (" users "))) ĊĠĠĠĠĠĠĠ ĠUI . getCurrent (). page . reload () ĊĊĠĠĠĠĠĠĠ Ġgrid . expect Rows ( 6 ) Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 0 , Ġ" user 1 ", Ġ" ĠActive Ġ", Ġ" admin ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 1 , Ġ" user 1 2 ", Ġ" ĠIn active Ġ", Ġ" admin ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 2 , Ġ" user 1 2 3 ", Ġ" ĠActive Ġ", Ġ" users ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 3 , Ġ" user 1 2 3 4 ", Ġ" ĠActive Ġ", Ġ" users ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 4 , Ġ" user 1 2 3 4 5 ", Ġ" ĠIn active Ġ", Ġ" users ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 5 , Ġ" user 1 2 3 4 5 6 ", Ġ" ĠIn active Ġ", Ġ" users ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` navigate Ġto ĠUsers Ġand Ġcreate Ġnew `() Ġ{ ĊĠĠĠĠĠĠĠ ĠCurrent User . set (" admin ") ĊĊĠĠĠĠĠĠĠ ĠUI . getCurrent (). navigate ( User View :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ_ get < Button > Ġ{ Ġcaption Ġ= Ġ" New Ġuser " Ġ} ._ click () ĊĠĠĠĠĠĠĠ Ġ_ get < TextField > Ġ{ Ġcaption Ġ= Ġ" User Ġname " Ġ} ._ value Ġ= Ġ" new Ġuser " ĊĠĠĠĠĠĠĠ Ġ_ get < TextField > Ġ{ Ġcaption Ġ= Ġ" Password " Ġ} ._ value Ġ= Ġ" password " ĊĠĠĠĠĠĠĠ Ġ_ get < Select < User Status >> Ġ{ Ġcaption Ġ= Ġ" Status " Ġ} ._ value Ġ= ĠACT IVE ĊĠĠĠĠĠĠĠ Ġ_ get < Checkbox Group < Category >> Ġ{ Ġcaption Ġ= Ġ" Categories " Ġ} ._ value Ġ= Ġset Of ( category (" admin ")) ĊĠĠĠĠĠĠĠ Ġ_ get < Button > Ġ{ Ġcaption Ġ= Ġ" Save " Ġ} ._ click () ĊĊĠĠĠĠĠĠĠ ĠUI . getCurrent (). page . reload () ĊĊĠĠĠĠĠĠĠ Ġval Ġgrid Ġ= Ġ_ get < Grid < User >> Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġgrid . expect Rows ( 6 ) Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 0 , Ġ" user 1 ", Ġ" ĠActive Ġ", Ġ" admin ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 1 , Ġ" user 1 2 ", Ġ" ĠIn active Ġ", Ġ" admin ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 2 , Ġ" user 1 2 3 ", Ġ" ĠActive Ġ", Ġ" users ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 3 , Ġ" user 1 2 3 4 ", Ġ" ĠActive Ġ", Ġ" users ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 4 , Ġ" user 1 2 3 4 5 ", Ġ" ĠIn active Ġ", Ġ" users ") Ċ // ĠĠĠĠĠĠĠ Ġgrid . expect Row ( 5 , Ġ" new Ġuser ", Ġ" ĠActive Ġ", Ġ" admin ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcategory ( name : ĠString ) Ġ= Ġcategory Repository . find ByName ( name ). orElse Throw () ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Category ( name : ĠString ) Ġ= Ġcategory Repository . save ( Category Builder (). with Name ( name ). build ()) ĊĊĠĠĠ Ġprivate Ġfun Ġcreate User ( userName : ĠString , Ġpassword : ĠString , Ġstatus : ĠUser Status , Ġcategory : ĠCategory ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserService . save ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser Builder (). with UserName ( userName ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Password ( password ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Status ( status ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Category ( category ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) Ċ Ċ }