package Team5.SmartTownsOld; import Team5.SmartTowns.rewards.RewardsRepository; import Team5.SmartTowns.users.NewUser; import Team5.SmartTowns.users.User; import Team5.SmartTowns.users.UserRepository; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.ArrayList; import java.util.List; import static junit.framework.TestCase.*; @SpringBootTest public class testUsers { @Autowired UserRepository userRepository; @Autowired RewardsRepository rewardsRepository; @Test public void getAllUsersTest(){ // test if we can get all users, admin is sa known user List<User> users = userRepository.getAllUsers(); User user = new User("Admin","Admin"); Assertions.assertEquals("Admin", users.get(0).getName()); } @Test // test if new users can be added public void addAUserTest(){ int userNumberBeforeAdd = userRepository.getAllUsers().size(); NewUser newuser = new NewUser("Meow","Woof","Cat@Dogs.com"); boolean trueIfAdded= userRepository.addUser(newuser.getName(), newuser.getEmail(), newuser.getPassword()); int userNumberAfterAdd = userRepository.getAllUsers().size(); assertTrue(trueIfAdded); } @Test // test if new users and inserted users can be found public void doesUserExistTest(){ Boolean insertedUserFoundByEmail = userRepository.doesUserExist("Kevin@Gmail.com"); NewUser newuser = new NewUser("MeowMeow","WoofMeow","CatMeow@Dogs.com"); Boolean newUser = userRepository.addUser(newuser.getName(), newuser.getEmail(), newuser.getPassword()); Boolean newUserFoundByEmail = userRepository.doesUserExist(newuser.getEmail()); int compareTwoSearches = Boolean.compare(insertedUserFoundByEmail, newUserFoundByEmail); assertEquals(0,compareTwoSearches); // if 0, both values are the same } @Test public void canUsersUnlockStickersTest(){ // tests if users can unlock stickers NewUser newuser = new NewUser("MeowMeowMeow","WoofMeowMeow","CatMeowMeow@Dogs.com"); Boolean newUser = userRepository.addUser(newuser.getName(), newuser.getEmail(), newuser.getPassword()); Boolean doesStickerUnlock = userRepository.unlockSticker(newuser.getName(),2,2); System.out.println(doesStickerUnlock); assertTrue(doesStickerUnlock); } @Test public void canUsersUnlockStickersAndViewThemTest(){ // tests if users who unlock stickers can view them NewUser newuser = new NewUser("MeowMeowMeowMeow","WoofMeowMeowMeow","CatMeowMeowMeow@Dogs.com"); NewUser newuserTwo = new NewUser("Jumper","Baa","Sheep@Wool.com"); Boolean newUser = userRepository.addUser(newuser.getName(), newuser.getEmail(), newuser.getPassword()); Boolean newUserTwo = userRepository.addUser(newuserTwo.getName(), newuserTwo.getEmail(), newuserTwo.getPassword()); Boolean doesStickerUnlock = userRepository.unlockSticker(newuser.getName(),1,2); List<Long> newUserStickerCollection = userRepository.getUserStickersFromPack(newuser.getName(),1); List<Long> newUserStickerCollectionTwo = userRepository.getUserStickersFromPack(newuserTwo.getName(),1); // compare and see if only new suer that has unlocked a sticker ahs one in their collection for pack 1 int newUserStickerList = newUserStickerCollection.size(); int newUserStickerListTwo = newUserStickerCollectionTwo.size(); // should have different sizes assertNotSame(newUserStickerList,newUserStickerListTwo); } }