/// <summary> /// 공유데이터 저장 /// </summary> /// <param name="entry"></param> /// <returns></returns> public NinjaBarbie2016Sharing CreateSharing(NinjaBarbie2016Sharing entry) { var user = userRepository.SingleOrDefault(x => x.Id == entry.UserId); if (user == null) { throw new NinjaBarbie2016ServiceException("500", "참여자 정보가 잘못되었습니다.", entry); } var sharing = sharingRepository.Add(entry); sharingRepository.Save(); return(sharing); }
public void NinjaBarbie2016CreateSharingTest() { /* arrange : 저장할 SNS공유 정보 */ var user = new NinjaBarbie2016User { Id = 1, Name = "테스트", Mobile = "01012345678", Age = 28, Channel = "web", ZipCode = "12345", Address = "서울시 강남구 역삼동 735-22", AddressDetail = "갈라빌딩 9층 개발팀", CreateDate = new DateTime(2016, 11, 15), SurprizeType = NinjaBarbieSurprizeType.NINJA }; mockUserRepository.Setup(x => x.SingleOrDefault(It.IsAny <Expression <Func <NinjaBarbie2016User, bool> > >())).Returns(user); var sharing = new NinjaBarbie2016Sharing { Id = 1, UserId = user.Id, SnsType = Domain.Abstract.SnsType.Facebook, SnsId = "1234567", SnsName = "테스트", Post = "http://facebook.com", CreateDate = new DateTime(2016, 11, 15) }; mockSharingRepository.Setup(x => x.Add(It.IsAny <NinjaBarbie2016Sharing>())).Returns(sharing); mockSharingRepository.Setup(x => x.Save()); /* action : SNS공유 정보 저장 서비스 실행 */ var result = service.CreateSharing(sharing); /* assert : 검증 */ Assert.NotNull(result); Assert.Equal(user.Id, result.UserId); mockUserRepository.Verify(x => x.SingleOrDefault(It.IsAny <Expression <Func <NinjaBarbie2016User, bool> > >()), Times.Once); mockSharingRepository.Verify(x => x.Add(It.IsAny <NinjaBarbie2016Sharing>()), Times.Once); mockSharingRepository.Verify(x => x.Save(), Times.Once); }