Пример #1
0
        public void SetNewLocation_GivenVisitorHasNoHistory_ExpectRandomRequested()
        {
            Visitor visitor = new Visitor();
            VisitorFairyTaleStrategy strategy =
                new VisitorFairyTaleStrategy(eventProducerMock.Object, fairyTaleClientMock.Object);

            strategy.SetNewLocation(visitor);

            fairyTaleClientMock.Verify(client => client.GetRandomFairyTale(), Times.Once);
            fairyTaleClientMock.Verify(client => client.GetNewFairyTaleLocation(It.IsAny <Guid>(),
                                                                                It.IsAny <List <Guid> >()), Times.Never);
        }
Пример #2
0
        public void SetNewLocation_GivenVisitorHasRideAsLatestLocation_ExpectRandomRequested()
        {
            Visitor visitor  = new Visitor();
            RideDto location = new RideDto();

            location.LocationType = LocationType.RIDE;
            visitor.VisitedLocations.Add(DateTime.Now, location);
            VisitorFairyTaleStrategy strategy =
                new VisitorFairyTaleStrategy(eventProducerMock.Object, fairyTaleClientMock.Object);

            strategy.SetNewLocation(visitor);

            fairyTaleClientMock.Verify(client => client.GetRandomFairyTale(), Times.Once);
            fairyTaleClientMock.Verify(client => client.GetNewFairyTaleLocation(It.IsAny <Guid>(),
                                                                                It.IsAny <List <Guid> >()), Times.Never);
        }
Пример #3
0
        public void StartLocationActivity_GivenCorrectData_ExpectCorrectCalls()
        {
            Visitor      visitor      = new Visitor();
            FairyTaleDto fairyTaleDto = new FairyTaleDto();

            visitor.TargetLocation = fairyTaleDto;
            VisitorFairyTaleStrategy strategy =
                new VisitorFairyTaleStrategy(eventProducerMock.Object, fairyTaleClientMock.Object);

            strategy.StartLocationActivity(visitor);
            var eventPayload = new Dictionary <string, string>
            {
                { "Visitor", visitor.Guid.ToString() },
                { "FairyTale", fairyTaleDto.Guid.ToString() }
            };

            Event producedEvent = new Event(EventType.ArrivedAtFairyTale, EventSource.Visitor, eventPayload);

            eventProducerMock.Verify(producer => producer.Produce(It.Is <Event>(a => a.Equals(producedEvent))), Times.Once);
        }