示例#1
0
        public async Task CreatePlaylist_PlaylistCreated_ReturnsSuccessfully()
        {
            const string dbName = "PlaylistCreateReturnsSuccessful";

            using (var context = Utils.GetDbContext(dbName))
            {
                // arrange
                const int userId = 1;
                context.Users.Add(new User {
                    Id = userId
                });
                var command = new CreatePlaylistCommand {
                    Name = "Test Playlist", UserId = userId
                };

                // act
                var handler = GetHandler(context);
                await handler.Handle(command, CancellationToken.None);
            }

            using (var context = Utils.GetDbContext(dbName))
            {
                var count = context.Playlists.Count();
                Assert.AreEqual(1, count);
            }
        }
        public async Task <IActionResult> CreatePlaylist([FromBody] CreatePlaylistDto dto, CancellationToken token)
        {
            var command = new CreatePlaylistCommand {
                Name = dto.Name, UserId = dto.UserId
            };
            await _mediator.Send(command, token);

            return(new JsonResult(Result.Ok()));
        }
示例#3
0
        public void CreatePlaylist_InvalidUser_Throws()
        {
            const string dbName = "PlaylistCreateThrows";

            using (var context = Utils.GetDbContext(dbName))
            {
                var command = new CreatePlaylistCommand {
                    Name = "Test Playlist", UserId = 1
                };

                var handler = GetHandler(context);
                Assert.ThrowsAsync <NotFoundException>(async() => await handler.Handle(command, CancellationToken.None));
            }
        }
示例#4
0
        public async Task <IActionResult> PostCreatePlaylist([FromForm] CreatePlaylistCommand command)
        {
            var response = await Mediator.Send(command);

            return(Json(new { Id = response }));
        }
示例#5
0
        public async Task <IActionResult> Post([FromBody] CreatePlaylistCommand cmd, CancellationToken cancellationToken)
        {
            var PlaylistId = await Mediator.Send(cmd, cancellationToken);

            return(CreatedAtRoute(nameof(GetPlaylist), new { id = PlaylistId }, cmd));
        }