Example #1
0
        public void RequestToBeAHostShouldCallAnalytics()
        {
            var token = "good ABC";

            _fixture.SetupAuthorization("good", "ABC");
            var fakeRequest = new HostRequestDto()
            {
                Address = new AddressDTO()
                {
                    City       = "City!",
                    State      = "OH",
                    PostalCode = "12345"
                },
                ContactId = 42
            };

            _finderService.Setup(m => m.RequestToBeHost(
                                     It.Is <string>(toke => toke.Equals(token)),
                                     It.Is <HostRequestDto>(dto =>
                                                            dto.Address.City.Equals(fakeRequest.Address.City) &&
                                                            dto.Address.State.Equals(fakeRequest.Address.State) &&
                                                            dto.Address.PostalCode.Equals(fakeRequest.Address.PostalCode) &&
                                                            dto.ContactId.Equals(fakeRequest.ContactId))
                                     ));

            _analyticsService.Setup(m => m.Track(
                                        It.Is <string>(contactId => contactId.Equals(fakeRequest.ContactId.ToString())),
                                        It.Is <string>(eventName => eventName.Equals("RegisteredAsHost")),
                                        It.Is <EventProperties>(props =>
                                                                props["City"].Equals(fakeRequest.Address.City) &&
                                                                props["State"].Equals(fakeRequest.Address.State) &&
                                                                props["Zip"].Equals(fakeRequest.Address.PostalCode))
                                        ));
            _fixture.RequestToBeHost(fakeRequest);
            _finderService.VerifyAll();
            _analyticsService.VerifyAll();
        }