Код: Выделить всё
[LogRequestDto]
[LogResponseDto]
[RequiresAnyRole(Roles.EventWrite, Roles.EventAdmin)]
public NewEventResponse Post(NewEvent request)
{
long eventId;
try
{
......
}
catch (Exception)
{
throw new HttpError(HttpStatusCode.InternalServerError,
HttpErrorCodes.InternalServerError.ToString(), HttpErrorMessages.InternalServerError);
}
if (Response == null)
throw new HttpError(HttpStatusCode.BadRequest,
HttpErrorCodes.NotGenerateResponse.ToString(), HttpErrorMessages.NotGenerateResponse);
.......
Response.StatusCode = (int)HttpStatusCode.Created;
return new NewEventResponse
{
EventId = eventId,
.......
};
}
Код: Выделить всё
[Test, Order(1)]
public void NewEventTest_Successful()
{
// Arrange
var request = new NewEvent
{
... };
var eventData = new EventData().PopulateWithNonDefaultValues(request);
var eventId = new Random().NextInt64();
var eventManagerMock = new Mock();
var requestContextMock = new Mock();
var requestMock = new Mock();
eventManagerMock.Setup(x => x.CreateNewEvent(
It.Is(y =>
y.Id.Equals(eventData.Id) &&
...........
y.Metadata.Zip(eventData.Metadata, (metaY, metaR) =>
metaY.Key == metaR.Key &&
metaY.Value == metaR.Value).All(result => result)
)
)).Returns(eventId)
.Verifiable("IEventManager.CreateNewEvent was not invoked.");
BaseAppHost.Container.Register(eventManagerMock.Object);
BaseAppHost.Container.Register(requestContextMock.Object);
BaseAppHost.Container.Register(requestMock.Object);
var service = BaseAppHost.Container.Resolve();
// Act
var response = service.Post(request);
// Assert
eventManagerMock.Verify();
}
Код: Выделить всё
if (Response == null)
throw new HttpError(HttpStatusCode.BadRequest,
HttpErrorCodes.NotGenerateResponse.ToString(), HttpErrorMessages.NotGenerateResponse);
Подробнее здесь: https://stackoverflow.com/questions/790 ... nse-object
Мобильная версия