Exemplo n.º 1
0
        public async Task ShouldUpdateSuccessfully()
        {
            // Assign
            var owner = await RunAsUserAsync("kopacetic");

            owner.TryGetUserId(out var ownerId);

            var audio = new AudioFaker(ownerId).Generate();

            InsertIntoDatabase(audio);

            // Act
            var command = new UpdateAudioCommandFaker(audio.Id).Generate();

            await SendAsync(command);

            var created = ExecuteDbContext(database =>
            {
                return(database.Audios
                       .Include(a => a.User)
                       .SingleOrDefault(a => a.Id == audio.Id));
            });

            // Assert
            created.Should().NotBeNull();
            created !.Title.Should().Be(command.Title);
            created.Description.Should().Be(command.Description);
            created.Tags.Count.Should().Be(command.Tags !.Count);
        }
Exemplo n.º 2
0
        public async Task ShouldInvalidateCacheSuccessfully()
        {
            // Assign
            var user = await RunAsDefaultUserAsync();

            user.TryGetUserId(out var userId);
            var audio = new AudioFaker(userId).Generate();

            InsertIntoDatabase(audio);
            await SendAsync(new GetAudioQuery(audio.Id));

            var command = new UpdateAudioCommandFaker(audio.Id).Generate();

            await SendAsync(command);

            // Act
            var cacheResult = await GetCache <AudioDto>(CacheKeys.Audio.GetAudio(audio.Id));

            // Assert
            cacheResult.Should().BeNull();
        }
Exemplo n.º 3
0
        public async Task ShouldNotUpdate_WhenUserCannotModify()
        {
            // Assign
            var owner = await RunAsUserAsync("kopacetic");

            owner.TryGetUserId(out var ownerId);

            var audio = new AudioFaker(ownerId).Generate();

            InsertIntoDatabase(audio);

            // Act
            await RunAsDefaultUserAsync();

            var command = new UpdateAudioCommandFaker(audio.Id).Generate();

            var result = await SendAsync(command);

            // Assert
            result.Should().NotBeNull();
            result.IsSuccess.Should().Be(false);
            result.ErrorCode.Should().Be(ResultError.Forbidden);
        }