Пример #1
0
        public async void UserService_LoginAsync_ReturnsClaimsPrincipleWithExistingUserInfo()
        {
            // arrange
            var loginDto = new LoginDto()
            {
                GoogleId = "google id",
                Name     = "name",
            };

            var existingUser = new UserWithTeamsDto
            {
                Id    = 1,
                Name  = "Bill",
                Nopes = new List <string> {
                    "salad", "tuna", "tuna-salad",
                },
            };

            Mock <IRepository> mockRepo = new Mock <IRepository>();

            mockRepo.Setup(x => x.GetUserAsync(It.IsAny <string>())).ReturnsAsync(existingUser);

            UserService target = new UserService(mockRepo.Object);

            // act
            var result = await target.LoginAsync(loginDto);

            // assert
            Assert.Equal(existingUser.Id, result.Id);
            Assert.Equal(existingUser.Name, result.Name);
        }
Пример #2
0
        public async void UserService_LoginAsync_DoesNotCreateUserIfFound()
        {
            // arrange
            var loginDto = new LoginDto()
            {
                GoogleId = "google id",
                Name     = "name",
            };

            var existingUser = new UserWithTeamsDto
            {
                Id    = 1,
                Name  = "Bill",
                Nopes = new List <string> {
                    "salad", "tuna", "tuna-salad",
                },
            };

            Mock <IRepository> mockRepo = new Mock <IRepository>();

            mockRepo.Setup(x => x.GetUserAsync(It.IsAny <string>())).ReturnsAsync(existingUser);

            UserService target = new UserService(mockRepo.Object);

            // act
            var result = await target.LoginAsync(loginDto);

            // assert
            mockRepo.Verify(r => r.CreateUserAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
        public async void LunchRepository_GetUserAsync_GetsUserWithTeams()
        {
            // arrangec
            LunchContext    context = GetContext();
            LunchRepository target  = new LunchRepository(context);
            List <string>   nopes   = new List <string> {
                "https://goo.gl/pUu7he"
            };
            var addedUserSettings = context.Users.Add(new UserEntity
            {
                Id       = 1,
                GoogleId = "googleID",
                Name     = "test",
                Nopes    = JsonConvert.SerializeObject(nopes),
                Zip      = "90210"
            }).Entity;

            TeamEntity team1 = context.Teams.Add(new TeamEntity
            {
                Id   = 1,
                Name = "bob's Team",
                Zip  = "38655"
            }).Entity;
            TeamEntity team2 = context.Teams.Add(new TeamEntity
            {
                Id   = 2,
                Name = "lilTimmy's Team",
                Zip  = "38655"
            }).Entity;

            context.UserTeams.Add(new UserTeamEntity
            {
                UserId = 1,
                TeamId = team1.Id
            });
            context.UserTeams.Add(new UserTeamEntity
            {
                UserId = 1,
                TeamId = team2.Id
            });

            context.SaveChanges();

            // act
            UserWithTeamsDto result = await target.GetUserAsync(addedUserSettings.GoogleId);

            // assert
            Assert.NotNull(result);
            Assert.Equal(2, result.Teams.Count());
            Assert.Equal(team1.Name, result.Teams.ElementAt(0).Name);
            Assert.Equal(team2.Name, result.Teams.ElementAt(1).Name);
        }
Пример #4
0
        public async void UserSerivce_GetUserAsync_ReturnsUserDto()
        {
            //Arrange
            var dto = new UserWithTeamsDto()
            {
                Id   = 1,
                Name = "name"
            };

            Mock <IRepository> mockRepo = new Mock <IRepository>();

            mockRepo.Setup(x => x.GetUserAsync(It.IsAny <int>())).ReturnsAsync(dto);
            UserService target = new UserService(mockRepo.Object);
            int         param  = 1;

            //Act
            var result = await target.GetUserAsync(param);

            // Assert
            Assert.Same(dto, result);
        }