public async Task CreateAsync_ShouldReturnErrorWhenExceptionInQuery1() { var mockMessageFilesQuery = new Mock <IMessageFileQuery>(); mockMessageFilesQuery .Setup(m => m.Create(It.IsAny <string>(), It.IsAny <string>())) .ThrowsAsync(new Exception("Mock exception 1")); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); mockFileService .Setup(f => f.UploadAsync(It.IsAny <IFormFile>())) .ReturnsAsync("Some name"); var mockFormFile = new Mock <IFormFile>(); mockFormFile.SetupGet(f => f.ContentType).Returns(GetTestFileTypes().First().Type); mockFormFile.SetupGet(f => f.FileName).Returns("Some name"); var mockContextFactory = SetupContextFactory(null, mockMessageFilesQuery.Object, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); var request = new MessageCreateRequest { Sender = 1, Recipients = new int[] { 1, 2, 3 }, Text = "NewMessageText", AppliedFile = mockFormFile.Object }; // ACT var actual = await _sut.CreateAsync(request); // ASSERT Assert.Equal("Mock exception 1", actual.Error.Message); }
public async Task GetFileByMessageAsync_ShouldReturnDto() { // ARRANGE var expectedFileName = GetTestMessageFiles().First().Name; var expectedFileType = GetTestFileTypes().First().Type; var expected = new FileDto { FileBytes = new byte[] { 1, 0, 1, 0 }, FileName = expectedFileName, FileType = expectedFileType }; var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); mockFileService .Setup(f => f.GetFileBytes(It.IsAny <string>())) .Returns(expected.FileBytes); var mockContextFactory = SetupContextFactory(null, null, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); // ACT var actual = await _sut.GetFileByMessageAsync(1); // ASSERT Assert.Equal(ComparableObject.Convert(expected), ComparableObject.Convert(actual.Entity)); }
public async Task CreateAsync_ShouldReturnErrorWhenExceptionInQuery2() { var newMessageFile = new MessageFile { Id = 10, Name = "NewFileName", FileTypeId = 1 }; var mockMessageFilesQuery = new Mock <IMessageFileQuery>(); mockMessageFilesQuery .Setup(m => m.Create(It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(newMessageFile); var mockMessagesQuery = new Mock <IMessagesQuery>(); mockMessagesQuery.Setup(m => m.Create(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <byte>(), It.IsAny <int?>())) .ThrowsAsync(new Exception("Mock exception")); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(mockMessagesQuery.Object, mockMessageFilesQuery.Object, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); var request = new MessageCreateRequest { Sender = 1, Recipients = new int[] { 1, 2, 3 }, Text = "NewMessageText" }; // ACT var actual = await _sut.CreateAsync(request); // ASSERT Assert.Equal("Mock exception", actual.Error.Message); }
public void Constructor_ShouldThrowExceptionWhenArgumentIsNull3() { var mockDbContextFactory = new Mock <IAppDbContextFactory>(); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); Assert.Throws <ArgumentNullException>(() => _sut = new StudentChatService(mockDbContextFactory.Object, mockFileService.Object, null)); }
public async Task GetFileByMessageAsync_ShouldReturnErrorWhenMessageFileNotFound() { // ARRANGE var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(null, null, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); // ACT var actual = await _sut.GetFileByMessageAsync(6); // ASSERT Assert.Equal("Файл отсутствует в данном сообщении", actual.Error.Message); }
public async Task GetFileByMessageAsync_ShouldReturnErrorWhenExceptionInQuery() { // ARRANGE var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); mockFileService.Setup(f => f.GetFileBytes(It.IsAny <string>())) .Throws(new Exception("Mock exception")); var mockContextFactory = SetupContextFactory(null, null, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); // ACT var actual = await _sut.GetFileByMessageAsync(1); // ASSERT Assert.Equal("Mock exception", actual.Error.Message); }
public async Task CreateAsync_ShouldReturnErrorWhenRecipientsNumberIsLarge() { var mockMessagesQuery = new Mock <IMessagesQuery>(); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(mockMessagesQuery.Object, null, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); var request = new MessageCreateRequest { Sender = 1, Recipients = GetTestRecipientsArray(), Text = "NewMessageText" }; // ACT var actual = await _sut.CreateAsync(request); // ASSERT Assert.Equal("Количество получателей должно быть максимум 1000", actual.Error.Message); }
public async Task CreateAsync_ShouldReturnErrorWhenRecipientsIsNull() { var mockMessagesQuery = new Mock <IMessagesQuery>(); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(mockMessagesQuery.Object, null, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); var request = new MessageCreateRequest { Sender = 1, Recipients = null, Text = "NewMessageText" }; // ACT var actual = await _sut.CreateAsync(request); // ASSERT Assert.Equal("Получатели не указаны", actual.Error.Message); }
public async Task GetMessageContactsByUserAsync_ShouldReturnErrorWhenExceptionInQuery() { var mockMessagesQuery = new Mock <IMessagesQuery>(); mockMessagesQuery.Setup(m => m.GetContactsByUser(It.IsAny <int>(), It.IsAny <byte>())) .ThrowsAsync(new Exception("Mock exception")); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(mockMessagesQuery.Object, null, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); // ACT var actual = await _sut.GetMessageContactsByUserAsync(1); // ASSERT Assert.Equal("Mock exception", actual.Error.Message); }
public async Task CreateAsync_ShouldReturnTrueWhenAplliedFileNotNull() { var newMessageFile = new MessageFile { Id = 10, Name = "NewFileName", FileTypeId = 1 }; var mockMessageFilesQuery = new Mock <IMessageFileQuery>(); mockMessageFilesQuery .Setup(m => m.Create(It.IsAny <string>(), It.IsAny <string>())) .ReturnsAsync(newMessageFile); var mockMessagesQuery = new Mock <IMessagesQuery>(); mockMessagesQuery .Setup(m => m.Create(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <byte>(), It.IsAny <int?>())) .ReturnsAsync(0); var mockFormFile = new Mock <IFormFile>(); mockFormFile.SetupGet(f => f.ContentType).Returns(GetTestFileTypes().First().Type); mockFormFile.SetupGet(f => f.FileName).Returns(newMessageFile.Name); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); mockFileService .Setup(f => f.UploadAsync(It.IsAny <IFormFile>())) .ReturnsAsync(newMessageFile.Name); var mockContextFactory = SetupContextFactory(mockMessagesQuery.Object, mockMessageFilesQuery.Object, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); var request = new MessageCreateRequest { Sender = 1, Recipients = new int[] { 2, 3 }, Text = "NewMessageText", AppliedFile = mockFormFile.Object }; // ACT var actual = await _sut.CreateAsync(request); // ASSERT Assert.True(actual.Entity); }
public async Task GetMessageContactsByUserAsync_ShouldReturnList() { var mockMessagesQuery = new Mock <IMessagesQuery>(); mockMessagesQuery.Setup(m => m.GetContactsByUser(It.IsAny <int>(), It.IsAny <byte>())) .ReturnsAsync(GetTestContactsByUser()); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(mockMessagesQuery.Object, null, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); // ACT var actual = await _sut.GetMessageContactsByUserAsync(1); // ASSERT Assert.Equal(GetTestContactsByUser().Count, actual.Entity.Count); Assert.Equal(ComparableObject.Convert(GetTestContactsByUser().First()), ComparableObject.Convert(actual.Entity.First())); }
public async Task GetRecipientsAsync_ShouldReturnErrorWhenExceptionInQuery() { // ARRANGE var mockTeachersQuery = new Mock <ITeachersQuery>(); mockTeachersQuery .Setup(t => t.GetAll()) .ThrowsAsync(new Exception("Mock exception")); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(null, null, mockTeachersQuery.Object); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); // ACT var actual = await _sut.GetRecipientsAsync(); // ASSERT Assert.Equal("Mock exception", actual.Error.Message); }
public async Task GetRecipientsAsync_ShouldReturnList() { // ARRANGE var mockTeachersQuery = new Mock <ITeachersQuery>(); mockTeachersQuery .Setup(t => t.GetAll()) .ReturnsAsync(GetTestTeachers()); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(null, null, mockTeachersQuery.Object); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); // ACT var actual = await _sut.GetRecipientsAsync(); // ASSERT Assert.Equal(GetTestTeachers().Count, actual.Entity.Count); Assert.Equal(ComparableObject.Convert(GetTestTeachers().First()), ComparableObject.Convert(actual.Entity.First())); }
public async Task CreateAsync_ShouldReturnTrueWhenAplliedFileIsNull() { var mockMessagesQuery = new Mock <IMessagesQuery>(); mockMessagesQuery .Setup(m => m.Create(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <byte>(), It.IsAny <int?>())) .ReturnsAsync(0); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(mockMessagesQuery.Object, null, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); var request = new MessageCreateRequest { Sender = 1, Recipients = new int[] { 2, 3 }, Text = "NewMessageText" }; // ACT var actual = await _sut.CreateAsync(request); // ASSERT Assert.True(actual.Entity); }
public async Task CreateAsync_ShouldReturnErrorWhenAplliedFileTypeIsNotAllowed() { var mockMessagesQuery = new Mock <IMessagesQuery>(); var mockFormFile = new Mock <IFormFile>(); mockFormFile.SetupGet(f => f.ContentType).Returns("application/bat"); mockFormFile.SetupGet(f => f.FileName).Returns("NewFileName.bat"); var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); var mockContextFactory = SetupContextFactory(mockMessagesQuery.Object, null, null); _sut = new StudentChatService(mockContextFactory.Object, mockFileService.Object, _mapper); var request = new MessageCreateRequest { Sender = 1, Recipients = new int[] { 2, 3 }, Text = "NewMessageText", AppliedFile = mockFormFile.Object }; // ACT var actual = await _sut.CreateAsync(request); // ASSERT Assert.Equal("Файл \"" + request.AppliedFile.FileName + "\" не может быть загружен", actual.Error.Message); }
public void Constructor_ShouldThrowExceptionWhenArgumentIsNull1() { var mockFileService = new Mock <IFileService <ChatFilesConfiguration> >(); Assert.Throws <ArgumentNullException>(() => _sut = new StudentChatService(null, mockFileService.Object, _mapper)); }
public void Constructor_ShouldThrowExceptionWhenArgumentIsNull2() { var mockDbContextFactory = new Mock <IAppDbContextFactory>(); Assert.Throws <ArgumentNullException>(() => _sut = new StudentChatService(mockDbContextFactory.Object, null, _mapper)); }