Esempio n. 1
0
        public void CreateLinksGeneratesFourLinksWithCorrectIdsOrIncidentIds_WhenPassedAnIncidentId()
        {
            // Arrange
            var methods       = new List <string>();
            var ids           = new List <object>();
            var urlHelperMock = new Mock <IUrlHelper>();

            urlHelperMock.Setup(link => link.Link(It.IsAny <string>(), It.IsAny <object>()))
            .Callback <string, object>(
                (s, o) =>
            {
                methods.Add(s);
                ids.Add(o);
            }
                );
            var incidentsController = new IncidentsController(null, null, urlHelperMock.Object);

            // Act
            incidentsController.CreateLinks("1", null, "");

            // Assert
            urlHelperMock.Verify(foo => foo.Link(IncidentsController.GetSingleRouteName, It.IsAny <object>()), Times.Exactly(1));
            urlHelperMock.Verify(foo => foo.Link(IncidentsController.PostSingleRouteName, It.IsAny <object>()), Times.Exactly(1));
            urlHelperMock.Verify(foo => foo.Link(IncidentsController.GetMultipleRouteName, It.IsAny <object>()), Times.Exactly(1));
            urlHelperMock.Verify(foo => foo.Link(EventsController.GetMultipleRouteName, It.IsAny <object>()), Times.Exactly(1));

            Assert.AreEqual(GetProperty(ids[0], "id"), "1");
            Assert.AreEqual(GetProperty(ids[1], "id"), "");
            Assert.AreEqual(GetProperty(ids[2], "id"), "");
            Assert.AreEqual(GetProperty(ids[3], "incidentId"), "1");
        }