public async Task Register_ByDefault_ReturnsNoContent() { var userControllerStub = CreateUserControllerStub(); var hostingEnvironmentStub = new Mock <IHostingEnvironment>(); var pushServiceMock = new Mock <IPushService>(); pushServiceMock.Setup(m => m.Register(It.IsAny <PushSubscription>())).Returns(Task.CompletedTask); var controller = new PushController(userControllerStub.Object, hostingEnvironmentStub.Object, pushServiceMock.Object); var model = new PushSubscriptionViewModel { Subscription = new Subscription { Endpoint = "https://db5p.notify.windows.com/w/?token=BQYAAACt1jdFc8Z7mH6fQOhqwzfh...", ExpirationTime = 1551728506000, Keys = new Keys { Auth = "_PhChqC4oDiArJ-DpkfNrQ", P256Dh = "BNyBjPuc30Akf7lvT7OtZUimZOgI...", }, }, }; var result = await controller.Register(model); Assert.IsType <NoContentResult>(result); pushServiceMock.Verify(m => m.Register(It.IsAny <PushSubscription>()), Times.Once()); }
public async Task <IActionResult> StoreSubscription(PushSubscriptionViewModel pushSubscriptionViewModel) { var pushSubscription = _mapper.Map <PushSubscription>(pushSubscriptionViewModel); var response = await _pushSubscriptionApp.StoreSubscriptionAsync(pushSubscription); if (response > 0) { return(CreatedAtAction(nameof(StoreSubscription), pushSubscription)); } return(NoContent()); }