LabWork02 Additions and Fixes

This commit is contained in:
parent 6137e97499
commit 3e9d61d071
4 changed files with 56 additions and 25 deletions

View File

@ -1,5 +1,6 @@
package com.example.demo;
import java.time.LocalDateTime;
import java.util.Objects;
import org.slf4j.Logger;
@ -70,13 +71,13 @@ public class DemoApplication implements CommandLineRunner {
final var user3 = userService.create(new UserEntity(null, "User3", "password3", "mail3@gmail.com"));
log.info("Create default messages values");
messageService.create(new MessageEntity(null, user1, "Message1"));
messageService.create(new MessageEntity(null, user1, "Message2"));
messageService.create(new MessageEntity(null, user2, "Message3"));
messageService.create(new MessageEntity(null, user2, "Message4"));
messageService.create(new MessageEntity(null, user2, "Message5"));
messageService.create(new MessageEntity(null, user3, "Message6"));
messageService.create(new MessageEntity(null, user3, "Message7"));
messageService.create(new MessageEntity(null, user1, "Message1", LocalDateTime.now(), false));
messageService.create(new MessageEntity(null, user1, "Message2", LocalDateTime.now(), false));
messageService.create(new MessageEntity(null, user2, "Message3", LocalDateTime.now(), false));
messageService.create(new MessageEntity(null, user2, "Message4", LocalDateTime.now(), false));
messageService.create(new MessageEntity(null, user2, "Message5", LocalDateTime.now(), false));
messageService.create(new MessageEntity(null, user3, "Message6", LocalDateTime.now(), false));
messageService.create(new MessageEntity(null, user3, "Message7", LocalDateTime.now(), false));
}
}
}

View File

@ -1,6 +1,6 @@
package com.example.demo.messages.api;
import java.util.Date;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonProperty;
@ -24,8 +24,11 @@ public class MessageDto {
private String text;
// Дата отправки
@NotBlank
private Date date;
private LocalDateTime date;
// Признак публикации сообщения
@JsonProperty(defaultValue = "false")
private boolean isPublished;
// Получить идентификатор
public Long getId() {
@ -58,12 +61,22 @@ public class MessageDto {
}
// Получить дату отправления
public Date getDate() {
public LocalDateTime getDate() {
return date;
}
// Установить дату отправления
public void setDate(Date date) {
public void setDate(LocalDateTime date) {
this.date = date;
}
// Получить признак публикации сообщения
public boolean getIsPublished() {
return isPublished;
}
// Установить признак публикации сообщения
public void setIsPublished(boolean isPublished) {
this.isPublished = isPublished;
}
}

View File

@ -1,6 +1,6 @@
package com.example.demo.messages.model;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.Objects;
import com.example.demo.core.model.BaseEntity;
@ -15,7 +15,10 @@ public class MessageEntity extends BaseEntity {
private String text;
// Дата отправки
private Date date;
private LocalDateTime date;
// Признак публикации сообщения
private boolean isPublished;
// Конструктор по умолчанию
public MessageEntity() {
@ -23,11 +26,12 @@ public class MessageEntity extends BaseEntity {
}
// Конструктор с параметрами для создания объекта
public MessageEntity(Long id, UserEntity sender, String text) {
public MessageEntity(Long id, UserEntity sender, String text, LocalDateTime date, boolean isPublished) {
super(id);
this.sender = sender;
this.text = text;
this.date = new Date();
this.date = date;
this.isPublished = isPublished;
}
// Получить отправителя
@ -51,19 +55,29 @@ public class MessageEntity extends BaseEntity {
}
// Получить дату отправления
public Date getDate() {
public LocalDateTime getDate() {
return date;
}
// Установить дату отправления
public void setDate(Date date) {
public void setDate(LocalDateTime date) {
this.date = date;
}
// Получить признак публикации сообщения
public boolean getIsPublished() {
return isPublished;
}
// Установить признак публикации сообщения
public void setIsPublished(boolean isPublished) {
this.isPublished = isPublished;
}
// Получить хэш-код объекта
@Override
public int hashCode() {
return Objects.hash(id, sender, text, date);
return Objects.hash(id, sender, text, date, isPublished);
}
// Сравнить объекты
@ -77,6 +91,7 @@ public class MessageEntity extends BaseEntity {
return Objects.equals(other.getId(), id)
&& Objects.equals(other.getSender(), sender)
&& Objects.equals(other.getText(), text)
&& Objects.equals(other.getDate(), date);
&& Objects.equals(other.getDate(), date)
&& Objects.equals(other.getIsPublished(), isPublished);
}
}

View File

@ -1,5 +1,7 @@
package com.example.demo;
import java.time.LocalDateTime;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import org.junit.jupiter.api.Order;
@ -32,9 +34,9 @@ public class MessageServiceTests {
@Order(1)
void createTest() {
final UserEntity sender = userService.create(new UserEntity(null, "User1", "password1", "mail1@gmail.com"));
messageService.create(new MessageEntity(null, sender, "Message1"));
messageService.create(new MessageEntity(null, sender, "Message2"));
final MessageEntity last = messageService.create(new MessageEntity(null, sender, "Message3"));
messageService.create(new MessageEntity(null, sender, "Message1", LocalDateTime.now(), false));
messageService.create(new MessageEntity(null, sender, "Message2", LocalDateTime.now(), false));
final MessageEntity last = messageService.create(new MessageEntity(null, sender, "Message3", LocalDateTime.now(), false));
Assertions.assertEquals(3, messageService.getAll(0l).size());
Assertions.assertEquals(last, messageService.get(3L));
@ -46,7 +48,7 @@ public class MessageServiceTests {
final UserEntity sender = userService.create(new UserEntity(null, "TESTuser", "password", "mail@gmail.com"));
final MessageEntity entity = messageService.get(3L);
final String oldText = entity.getText();
final MessageEntity newEntity = messageService.update(3L, new MessageEntity(1L, sender, "textMessage"));
final MessageEntity newEntity = messageService.update(3L, new MessageEntity(1L, sender, "textMessage", LocalDateTime.now(), false));
Assertions.assertEquals(3, messageService.getAll(0L).size());
Assertions.assertEquals(newEntity, messageService.get(3L));
@ -62,7 +64,7 @@ public class MessageServiceTests {
Assertions.assertThrows(NotFoundException.class, () -> messageService.get(3L));
final UserEntity sender = userService.create(new UserEntity(null, "User1", "password1", "mail1@gmail.com"));
final MessageEntity newEntity = messageService.create(new MessageEntity(null, sender, "Message"));
final MessageEntity newEntity = messageService.create(new MessageEntity(null, sender, "Message", LocalDateTime.now(), false));
Assertions.assertEquals(3, messageService.getAll(0L).size());
Assertions.assertEquals(4L, newEntity.getId());
}