Example #1
0
        public void InviteToGroupShouldCallAnalytics()
        {
            var token      = "good ABC";
            var groupId    = 1;
            var fakeInvite = new User()
            {
                email = "*****@*****.**"
            };

            _fixture.SetupAuthorization("good", "ABC");

            _finderService.Setup(m => m.InviteToGroup(
                                     It.Is <string>(toke => toke.Equals(token)),
                                     It.Is <int>(id => id.Equals(groupId)),
                                     It.Is <User>(user => user.email == fakeInvite.email),
                                     It.Is <string>(connectType => connectType.Equals("connect"))
                                     ));

            _authenticationRepository.Setup(m => m.GetContactId(It.IsAny <string>())).Returns(12345);

            _analyticsService.Setup(m => m.Track(
                                        It.Is <string>(contactId => contactId.Equals("12345")),
                                        It.Is <string>(eventName => eventName.Equals("HostInvitationSent")),
                                        It.Is <EventProperties>(props => props["InvitationToEmail"].Equals(fakeInvite.email))
                                        ));

            _fixture.InviteToGroup(groupId, "connect", fakeInvite);

            _analyticsService.VerifyAll();
            _finderService.VerifyAll();
        }